import requests
from lxml import etree
import os
def headers(referer):#图片的下载可能和头部的referer有关,所以将referer设为变换值,以躲避反扒headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36','Referer': '{}'.format(referer)}return headersdef Tuji(pag):#找图集fullurl = 'http://www.mzitu.com/page/{}/'.format(pag)shouye_html = requests.get(fullurl)shouye_html_text = shouye_html.textshouye_ele = etree.HTML(shouye_html_text)tj_list = shouye_ele.xpath('//*[@id="pins"]/li/a/@href')#找每页的图集urlTuji_url_list = []for tj_url in tj_list:Tuji_url_list.append(tj_url)return Tuji_url_list
def gettuji_info(tj_url_list):#图集的url列表 收集图集的相关信息for tj_url_1 in tj_url_list: #tj_url_1 --- > http://www.mzitu.com/146823tj_html = requests.get(tj_url_1, headers=headers(tj_url_1))tj_html_text = tj_html.texttj_ele = etree.HTML(tj_html_text)img_title = tj_ele.xpath('//h2[@class="main-title"]/text()')[0] # 图集名称max_pag_list = int(tj_ele.xpath('/html/body/div[2]/div[1]/div[4]/a[5]/span/text()')[0])  # 找最大页数os.mkdir(img_title)for i in range(1, int(max_pag_list + 1)):tj_url_2 = tj_url_1 + '/'+str(i) #tj_url_2 ---> http://www.mzitu.com/146823 + pagtj_html = requests.get(tj_url_2, headers=headers(tj_url_1))tj_html_text = tj_html.texttj_ele = etree.HTML(tj_html_text)img_url = tj_ele.xpath('//div[@class="main-image"]/p/a/img/@src')[0] # 从不同的tj_url_2中找图片的urlprint('正在下载'+img_title+'第'+str(i)+'张')with open(img_title+'/'+str(i)+'.jpg', "wb+") as jpg:jpg.write(requests.get(img_url, headers=headers(tj_url_2)).content)jpg.close()if __name__ == '__main__':pags = int(input('你想搞几页的嘿嘿?'))for pag in range(1,pags+1):gettuji_info(Tuji(pag))

让你营养跟不上的图片爬取相关推荐

  1. Python图片爬取方法总结

    1. 最常见爬取图片方法 对于图片爬取,最容易想到的是通过urllib库或者requests库实现.具体两种方法的实现如下: 1.1 urllib 使用urllib.request.urlretrie ...

  2. python爬虫图片-Python图片爬取方法总结

    1. 最常见爬取图片方法 对于图片爬取,最容易想到的是通过urllib库或者requests库实现.具体两种方法的实现如下: 1.1 urllib 使用urllib.request.urlretrie ...

  3. python爬虫知乎图片_Python爬虫入门教程 25-100 知乎文章图片爬取器之一

    1. 知乎文章图片爬取器之一写在前面 今天开始尝试爬取一下知乎,看一下这个网站都有什么好玩的内容可以爬取到,可能断断续续会写几篇文章,今天首先爬取最简单的,单一文章的所有回答,爬取这个没有什么难度. ...

  4. java spring+mybatis整合实现爬虫之《今日头条》搞笑动态图片爬取

    java spring+mybatis整合实现爬虫之<今日头条>搞笑动态图片爬取(详细) 原文地址原博客地址 先上效果图 抓取的动态图: 数据库: 一.此爬虫介绍 今日头条本身就是做爬虫的 ...

  5. Python爬虫之scrapy框架360全网图片爬取

    Python爬虫之scrapy框架360全网图片爬取 在这里先祝贺大家程序员节快乐,在此我也有一个好消息送给大家,本人已开通了微信公众号,我会把资源放在公众号上,还请大家小手动一动,关注过微信公众号, ...

  6. 超简单的图片爬取项目,复制粘贴就能用,批量爬取动漫图片。(保姆教程,可根据需要修改URL)

    各位未来国家栋梁们好啊~相信栋梁们经常需要在网络上寻找各种资源,作为二次元的必备精神食粮,图片资源那是必不可少!在这里用python写了一个超简单的图片爬取小项目~话不多说,附上源码!(有用的话点个赞 ...

  7. 爬虫——百度图片爬取

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用网络爬虫:是捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分,是从互联网中搜集网页.采集信 ...

  8. Python 爬虫 爬取豆瓣Top 250 并将海报图片爬取下来保存

    本文章的所有代码和相关文章, 仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,滥用技术产生的风险与本人无关. 本文章是自己学习的一些记录. 爬取豆瓣top 250 现在的很多学习的教程例子都是 ...

  9. python写图片爬取软件_python制作微博图片爬取工具

    有小半个月没有发博客了,因为一直在研究python的GUI,买了一本书学习了一些基础,用我所学做了我的第一款GUI--微博图片爬取工具.本软件源代码已经放在了博客中,另外软件已经打包好上传到网盘中以供 ...

最新文章

  1. 采购订单模板_采购必备:如何搭建合规的采购流程
  2. [原]让链接点击过后无虚线
  3. 12_04_Linux软件管理之四yum
  4. vue-cli3使用svg图标的详细步骤
  5. python替换txt指定内容_python 实现类似sed命令的文件内容替换
  6. kotlin 泛型约束
  7. mysql 报500错误_java 项目开启mysql binlog参数后报500错误:
  8. Python3: chardet 检测 bytes 的原字符串编码格式
  9. 思维导图:亿图的部分使用方法
  10. SQL如何合并两列数据
  11. python主流解析库(re beautifulsoup pyquery xpath)实战--爬取猫眼电影排行
  12. CCIE一年后的心语-------寄WOLF实验室的兄弟
  13. 《SolidWorks 2014中文版机械设计从入门到精通》——2.3 草图编辑
  14. MEM/MBA英语基础(02) 句子成分基础
  15. 【机器学习】决策树案例一:利用决策树进行年龄与音乐类型喜好分类预测
  16. Java中的数字工具类-----持续总结中
  17. 修改数据表之添加主键约束
  18. 《鸟哥的Linux私房菜-基础篇》学习笔记
  19. 程序中日期、时长等时间相关英文命名问题汇总
  20. 2023年第十三届MathorCup高校数学建模挑战赛|A题|量子计算机在信用评分卡组合优化中的应用

热门文章

  1. CV小白成长记之一:去除图片背景印记及噪点
  2. ESP8266开发、ESP8266连接阿里云物联网、天猫精灵控制esp8266、esp8266一键配网、智能家居
  3. SHA256withRSA密钥加签
  4. 【FDTD Lumerical sweep扫描参数数据提取及可视化【以S参数为例】】
  5. Cisco Packet Tracer思科模拟器中扩展访问控制列表的配置(扩展ACL)
  6. 【企业安全实战】数据库审计部署实践
  7. Git Brash在Windows下乱码问题
  8. 大众野帝css正时点,大众1.4TSI发动机正时校对方法(图解)
  9. CollectionUtils属于哪个包
  10. 华硕ts10linux,迷你电脑主机-华硕 Vivostick TS10口袋电脑二代_硬件测评心得_ZNDS