snail:) 发表于 2018-2-23 17:25:39

requests模块爬取妹子图(保存用于日后翻阅)

import requests
import bs4
import re
import os



def open_url(url):
    '''
    抓取网页代码
    '''
    headers = {'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'}
    html = requests.get(url,headers=headers)
    return html
   

def find_img_url(html):
    '''
    正则化获取图片地址
    '''
    p = r'img src="(.+\.jpg)"'
    img_list = re.findall(p,html.text)#html.text是requests模块里面的获取响应网站的文本文件(自动解码)
   
   
    return img_list



def main(num=10):#爬取前10页的图片,num可以自定义
    os.mkdir('OOXX')#os模块创建文件夹
    os.chdir('OOXX')#修改路径
    urlz = 'http://www.meizitu.com'
   
    name = 0
    img_list = []
    for n in range(1,num+1):
      url = urlz + '/a/more_' + str(n) +'.html'
      img_list.extend(find_img_url(open_url(url)))
    new_img_list = []#去掉重复的图片
    for img in img_list:
      if img not in new_img_list:
            new_img_list.append(img)
    for each in new_img_list:
      with open(str(name)+'.jpg','wb')as f :
            f.write(open_url(each).content)
      name += 1

if __name__=='__main__':
    main()

moc 发表于 2018-2-23 18:32:35

ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))这个报错怎么解决??

snail:) 发表于 2018-2-23 18:40:16

moc 发表于 2018-2-23 18:32
ConnectionError: ('Connection aborted.', ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连 ...

你是直接复制我的代码么,可能那个headers不是你的浏览器
,你试试自己的user-agent看看,我也刚开始学习python

moc 发表于 2018-3-10 10:21:36

好的,谢谢。我试试
页: [1]
查看完整版本: requests模块爬取妹子图(保存用于日后翻阅)