python爬虫实战-爬取美女图片并保存至本地文件夹(xpath)
2019-02-23 16:09
465 查看
python爬虫实战-爬取美女图片并保存至本地文件夹(xpath)
import urllib.parse import urllib.request from lxml import etree import time import os # 首页:http://sc.chinaz.com/tupian/xingganmeinvtupian.html # 分页后:http://sc.chinaz.com/tupian/xingganmeinvtupian_3.html def handle_request(url,page): #由于页面不规律,需要增加个判断 # 首页:http://sc.chinaz.com/tupian/xingganmeinvtupian.html # 分页后:http://sc.chinaz.com/tupian/xingganmeinvtupian_3.html if page == 1: url=url.format('') else: url=url.format('_' + str(page)) headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', } request=urllib.request.Request(url=url,headers=headers) return request def downoad_image(image_src): dirpath='xingganmeinv' if not os.path.exists(dirpath): os.mkdir(dirpath) #搞个文件名 filename=os.path.basename(image_src) filepath=os.path.join(dirpath,filename) headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36', } request=urllib.request.Request(url=image_src,headers=headers) response=urllib.request.urlopen(request) with open(filepath,'wb') as fp: fp.write(response.read()) #解析内容,并下载图片 def parse_content(content): tree=etree.HTML(content) img_list=tree.xpath('//div[@id="container"]/div/div/a/img') for lt in img_list: #处理图片懒加载 img_href=lt.xpath('.//@src2')[0].replace('_s.','.') img_title=lt.xpath('.//@alt')[0] print('正在下载图片:%s ......'%img_title) #方法一: # downoad_image(img_href) #方法二: dirname='meinv' if not os.path.exists(dirname): os.mkdir(dirname) # 后缀 s=os.path.splitext(img_href)[-1] #图片的名称 filepath=dirname+'/'+img_title+s urllib.request.urlretrieve(img_href,filepath) def main(): url='http://sc.chinaz.com/tupian/xingganmeinvtupian{}.html' start_page=int(input('请输入起始页码:')) end_page=int(input('请输入结束页码:')) for page in range(start_page,end_page+1): print('开始下载第%s页所有图片,请稍等......'%page) request=handle_request(url,page) content=urllib.request.urlopen(request).read().decode() parse_content(content) if __name__ == '__main__': main()
相关文章推荐
- Python使用爬虫抓取美女图片并保存到本地的方法【测试可用】
- python爬虫实战-爬取城市每条公交详细信息并保存至本地(方法、xpath)
- Python 爬虫抓取美女图片保存到本地
- Python 爬虫多线程爬取美女图片保存到本地
- java爬虫实战(1):抓取信息门户网站中的图片及其他文件并保存至本地
- Python使用Scrapy爬虫框架全站爬取图片并保存本地的实现代码
- Python爬虫获取图片并下载保存至本地
- [python爬虫]爬取今日头条,例子:街拍将图片存到本地文件夹里
- python爬虫实战(1)抓取网页图片自动保存
- 不务正业--用python爬虫抓取Konachan的图片并保存到本地文件
- python爬虫简单的抓页面图片并保存到本地
- Python爬虫获取图片并下载保存至本地的实例
- python爬虫得图片并保存到文件夹里
- Python爬虫抓取糗百的图片,并存储在本地文件夹
- 从今日头条爬取美女图片,保存到文件夹中(Python语法)
- Python爬虫实战(1)——百度贴吧抓取帖子并保存内容和图片
- Python3 爬虫实战(一)——爬取one每日一句,并保存到本地
- [Python]使用Scrapy爬虫框架简单爬取图片并保存本地
- python爬虫实战-爬取岗位招聘信息并保存至本地(方法、jsonpath)
- python3 [入门基础实战] 爬虫入门之xpath的学习