今天"无意"看美女无意溜达到一个网站,发现妹子多多,但是可恨一个page只显示一张或两张图片,家里WiFi也难用,于是发挥"程序猿"的本色,写个小脚本,把图片扒下来再看,类似功能已有不少大师实现了,但本着学习锻炼的精神,自己折腾一遍,涨涨姿势!

先来效果展示下:

python代码:

#-*- coding:utf8 -*-

importurllib2importreimportrequestsfrom lxml importetreeimportosdefcheck_save_path(save_path):try:

os.mkdir(save_path)except:pass

defget_image_name(image_link):

file_name=os.path.basename(image_link)returnfile_namedefsave_image(image_link, save_path):

file_name=get_image_name(image_link)

file_path= save_path + "\\" +file_nameprint("准备下载%s" %image_link)try:

file_handler= open(file_path, "wb")

image_handler= urllib2.urlopen(url=image_link, timeout=5).read()

file_handler.write(image_handler)

file_handler.closed()exceptException, ex:print(ex.message)defget_image_link_from_web_page(web_page_link):

image_link_list=[]print(web_page_link)try:

html_content= urllib2.urlopen(url=web_page_link, timeout=5).read()

html_tree=etree.HTML(html_content)print(str(html_tree))

link_list= html_tree.xpath('//p/img/@src')for link inlink_list:#print(link)

if str(link).find("uploadfile"):

image_link_list.append("http://www.xgyw.cc/" +link)exceptException, ex:pass

returnimage_link_listdefget_page_link_list_from_index_page(base_page_link):try:

html_content= urllib2.urlopen(url=base_page_link, timeout=5).read()

html_tree=etree.HTML(html_content)print(str(html_tree))

link_tmp_list= html_tree.xpath('//div[@class="page"]/a/@href')

page_link_list=[]for link_tmp inlink_tmp_list:

page_link_list.append("http://www.xgyw.cc/" +link_tmp)returnpage_link_listexceptException, ex:print(ex.message)return[]defget_page_title_from_index_page(base_page_link):try:

html_content= urllib2.urlopen(url=base_page_link, timeout=5).read()

html_tree=etree.HTML(html_content)print(str(html_tree))

page_title_list= html_tree.xpath('//td/div[@class="title"]')

page_title_tmp=page_title_list[0].textprint(page_title_tmp)returnpage_title_tmpexceptException, ex:print(ex.message)return ""

defget_image_from_web(base_page_link, save_path):

check_save_path(save_path)

page_link_list=get_page_link_list_from_index_page(base_page_link)for page_link inpage_link_list:

image_link_list=get_image_link_from_web_page(page_link)for image_link inimage_link_list:

save_image(image_link, save_path)

base_page_link= "http://www.xgyw.cc/tuigirl/tuigirl1346.html"page_title=get_page_title_from_index_page(base_page_link)if page_title <> "":

save_path= "N:\\PIC\\" +page_titleelse:

save_path= "N:\\PIC\\other\\"get_image_from_web(base_page_link, save_path)

View Code

代码思路:

使用urllib2.urlopen(url).open来获取页面数据,再使用etree.HTML()将页面解析成xml格式,方便使用xmlpath方式来获取特定node的值,最终遍历所有页面得到要下载的图片,将图片保存到本地。

--=========================================================

python包安装:

很多python包没有windows安装包,或者没有X64版本的安装包,对于新手来说,很难快速上手,可以使用pip或easy_install来安装要使用的安装包,相关安装方式:https://pypi.python.org/pypi/setuptools

本人采用easy_install方式,我电脑安装python2.7,安装路径为:C:\Python27\python.exe,下载ez_setup.py文件后到c盘保存,然后运行cmd执行以下命令:

C:\Python27\python.exe "c:\ez_setup.py"

即可安装easy_install,安装结束后可以C:\Python27\Scripts下看到easy_install-2.7.exe,如果我们想在本地安装requests包,那么可以运行以下命令来试下:

"C:\Python27\Scripts\easy_install-2.7.exe" requests

--==========================================================

依旧是妹子压贴,推女郎第68期,想要图的自己百度

利用python批量爬取网页图片_使用python来批量抓取网站图片相关推荐

  1. python抓取网页文章_使用Python从公共API抓取新闻和文章

    python抓取网页文章 Whether you are data scientist, programmer or AI specialist, you surely can put huge nu ...

  2. python 抓取网页链接_从Python中的网页抓取链接

    python 抓取网页链接 Prerequisite: 先决条件: Urllib3: It is a powerful, sanity-friendly HTTP client for Python ...

  3. python 抓取网页 库_5种流行的Web抓取Python库,你用过哪种?

    "我们有足够的数据"这句话,在数据科学领域并不存在. 我很少会听到有人拒绝为他们的机器学习或深度学习项目收集更多的数据,往往都是永远觉得自己拥有的数据不够多. 为了缓解这种&quo ...

  4. python通过代理访问网页_Python使用PyCurl通过SOCK5代理抓取网页 - Python - 服务器之家...

    Python使用PyCurl通过SOCK5代理抓取网页 发布时间:2013-10-09

  5. java抓取页面表格_用java实现爬虫抓取网页中的表格数据功能源码

    [实例简介] 使用java代码基于MyEclipse开发环境实现爬虫抓取网页中的表格数据,将抓取到的数据在控制台打印出来,需要后续处理的话可以在打印的地方对数据进行操作.包解压后导入MyEclipse ...

  6. python爬取网页上的特定链接_自学python爬虫二:如何正常操作urllib2通过指定的URL抓取网页内容...

    所谓网页抓取, 就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 类似于使用程序模拟IE浏览器的功能,把URL作为HTTP请求的内容发送到服务器端, 然后读取服务器端的响应资源. 在P ...

  7. python爬取行业数据_用Python进行Web爬取数据

    介绍 我们拥有的数据太少,无法建立机器学习模型.我们需要更多数据! 如果这句话听起来很熟悉,那么你并不孤单!希望获得更多数据来训练我们的机器学习模型是一个一直困扰人们的问题.我们无法在数据科学项目中获 ...

  8. java抓取网页数据_实现网络图片爬虫,只需5秒快速把整个网页上的图片全下载打包zip...

    我们经常需要用到互联网上的一些共享资源,图片就是资源的一种,怎么把网页上的图片批量下载下来?有时候我们需要把网页上的图片下载下来,但网页上图片那么多,怎么下载我们想要的东西呢,如果这个网页都是我们想要 ...

  9. python find()效率_基于python分别采用同步与异步(协程)方式抓取时光网TOP100电影...

    欢迎各位小哥哥小姐姐阅读本的文章,对大家学习有帮助,请点赞加关注哦!!!!!!!!!! 您的点赞和关注将是我持续更新的动力呢.^v^ 有不懂的问题可以私聊我哦! 如题,同步运行就是python按照代码 ...

  10. python爬wos数据库,分布式爬虫困惑,如何合理安排抓取/解析/储存?

    目前情况: 一个 50 个目标网站的爬虫项目,有个 200 台的集群服务器. 爬取的内容基本上是从列表页(需要翻页)开始,抓取详情页 url,然后通过 url 抓取详情页内容. 目前架构: maste ...

最新文章

  1. uniapp中qrcode生成二维码后传的参数不见了_阿虚教你制作动态二维码,超详细教程!
  2. 未来5年网络安全支出将达到1万亿
  3. 七个帮助你处理Web页面层布局的jQuery插件
  4. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽
  5. Keras 文字生成系统
  6. 去掉表中字段空的空格或换行符
  7. 记一次大量数据导入导出SAP系统实验
  8. c语言代码量统计工具
  9. 计算机窗口的PPT,PPT幻灯片基础入门01-认识窗口界面
  10. 2021-10-10
  11. 天涯论坛_全球华人网上家园_天涯社区
  12. ART 虚拟机 — Interpreter 模式
  13. 前端通过【bitly】Api,将长链接转换短连接
  14. 基于HDP使用Flume实时采集MySQL中数据传到Kafka+HDFS或Hive
  15. Python Pandas DataFrame 删除缺失值 None Nan drop dropna 替换缺失值 fillna 重复值删除 duplicate 数值替换 replace apply
  16. 计算机网络知识(看这篇就够啦)
  17. 【python】创建目录/文件夹
  18. 实现Linux下的cp命令
  19. 解决FAT32格式的U盘无法拷贝4G以上文件的方法
  20. 首选DNS服务器地址不显示,首选dns服务器如何设置?如何设置DNS地址

热门文章

  1. 【C++学习】类与对象(下)
  2. pytorch中深度拷贝_在ubuntu20.04下搭建深度学习环境(pytorch1.5)
  3. 使用tcpcopy导入线上流量进行功能和压力测试
  4. Vue实战之 9.商品管理 -- 商品列表
  5. 明辰智航M-P-1W万兆以太网性能测试仪
  6. 与豆瓣网杨勃聊天(续)
  7. 国内高端联合办公品牌Bee+:产品和精细化运营是核心竞争力
  8. 精品MySQL面试题,备战八月99%必问!过不了面试算我的
  9. JAVA EPSON扫描仪_Epson Java Pos ADK异常:未初始化
  10. 【转】iPhone通讯录的电话号码加了括号