Python爬虫都被你用来爬妹子图了,我等羞愧与之为伍!

本文介绍了使用Python的requests和lxml库来爬取一个含有动态加载图片的网站,通过解析HTML并提取XPath信息,获取详情页的图片数据,并将其保存为本地图片。强调了动态图地址的处理,以及代码实现过程。
摘要由CSDN通过智能技术生成

大家好,我是辣条。 

今天主要分享一个粉丝朋友找我帮他爬一个妹子图网站,不过网站图片尺度比较大,所以也不留链接了,虽然比较简单,但还是很有学习意义的,我这绝不是水文章!学习的事当然要分享给大家。

 

 

效果展示

采集数据目标

网站:不提供(狗头保命,防止进小黑屋)

工具使用

开发工具:pycharm

开发环境:python3.7, Windows10

使用工具包:requests,lxml

重点学习内容

  • requests工具使用

  • xpath提取网页数据

项目解析思路

获取到首页信息,通过requests请求网页数据,当前网页数据为动态加载数据。

url参数修改请求其他页面,通过xpath方式提取到进入详情页面的网址,详情页面的信息会更加的精彩。

image.png

提取到进入详情页面的a标签,再次请求网页数据,得到详情页面数据,再次通过xpath方式获取到图片的标签以及图片的名字,要注意的是img标签里的图片地址其实是动态图,我们需要获取的数据是div标签里的data-src。

image.png

获取到对应图片标签,保存对应图片数据 大功告成!!!

需要网站地址关注三连+私❤我获取【仅供学习交流,一定要三连收藏哦,不然容易找不着】

简易源码分享

import requests
from lxml import etree
​
​
​
url = 'https://www.xxxx.com/page/4/'
response = requests.get(url)
html = etree.HTML(response.text)
href_list = html.xpath('//div[@class="item-title"]/a/@href')
for href in href_list:
    res = requests.get(href)
    html_data = etree.HTML(res.text)
    img_url_list = html_data.xpath('//div[@data-fancybox="gallery"]/@data-src')
    img_name_list = html_data.xpath('//img/@alt')
    print(img_url_list)
    for img_url, img_name in zip(img_url_list, img_name_list):
        result = requests.get(img_url).content
        with open('图片/' + img_name + ".jpg", "wb")as f:
            f.write(result)
            print("正在下载:", img_name)
​

仅供学习交流!!侵删!

评论 156
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值