本文来源吾爱破解论坛
本帖最后由 小心boss 于 2019-11-28 23:05 编辑
################################################
前段时间开始自学Python,目前处于新手阶段.
试着写了了个爬虫,分享一下.
有没有也在学Python的,共勉!
################################################
老司机的身份被人拆穿了。。。╮( ̄▽ ̄")╭
之前贴的代码好像有点问题,改了下.感谢各位大佬.
有用的话,请个热心.谢谢--2019 11.28 22:28
[Python] 纯文本查看 复制代码
# -*- coding=utf-8 -*- ''' 人生苦短,我用Python ''' ###以此怀念### import time import requests import re import lxml import os from bs4 import BeautifulSoup #################################### url = 'https://www.mzitu.com/all' # 需要爬取的网页地址 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0', 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", 'Accept-Encoding': 'gzip', "Referer": "https://www.mzitu.com/all" } # 创建头部信息 def get(url): #发送网络请求 a= requests.get(url,headers=headers) html = a.text return html def main(): soup = BeautifulSoup(get(url),'lxml') #解析爬取网址 all_url = soup.find('div',class_='all').find_all('a') #过滤数据到all_url列表中 for mulu in all_url: #遍历url列表 if mulu.get_text() == '早期图片': continue else: result = { 'title': mulu.get_text(), 'link': mulu.get('href'), 'ID': re.findall('\d+', mulu.get('href')) } #过滤出字典 mulu_url = result['link'] print('读取图帖链接:', mulu_url) soup2 = BeautifulSoup(get(mulu_url), 'lxml') #解析字典中的目录地址 img_mulu = soup2.find("div", {"class": "main-image"}).find("img")['src'] #匹配图片地址 page = soup2.find_all("span")[9] #取图贴页数 max_page = page.get_text() os.chdir(img_dir) new_dir(result['title']) for j in range(1,int(max_page) + 1): next_img_page = mulu_url + '/' + str(j) img_html = BeautifulSoup(get(next_img_page), 'lxml') #图片链接 img_url = img_html.find("div", {"class": "main-image"}).find("img")['src'] #图片名 img_name = result['title']+str(j) # 下载图片 down(img_name,img_url) print('图片地址: ',img_url) time.sleep(yanshi) def down(name,image): f = open(name + '.jpg','wb+') img = requests.get(image,headers=headers) if str(img) == '<Response [200]>': print('下载图片...',end='') f.write(img.content) f.close() def new_dir(name): #创建文件夹 if os.path.exists(name): print('文件夹已存在') os.chdir(name) else: print('创建文件夹: {}'.format(name)) os.mkdir(name) os.chdir(name) if __name__ == '__main__': img_dir = 'f:\学习资料' # 设定存储爬取图片的路径 new_dir(img_dir) yanshi = 0.5 #设定抓取图片延时(0.5秒) main() #######The End 2019 11.28 22:28 ###################本帖被以下淘专辑推荐: · SunGeekHouse|主题: 211, 订阅: 49
版权声明:
本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。
- 上一篇: 关于某讯漫画网页爬虫!!!!
- 下一篇: