python爬虫实例:通过requests库+xpath来实现爬取某图片网站步骤讲解

温馨提示:这篇文章已超过1013天没有更新,请注意相关的内容是否还可用!

想批量下载某图片素材网站url下图片最快速的方法通过python爬虫来实现了,下面通过一个实例来讲解使用python中的requests库和xpath来爬取的步骤。

我们知道,python爬虫向服务器发送请求时用得比较多的是urllib及requests库,urllib相对来说已经过时了,要做请求定制,而requests不需要,代码也实现更简单。

python爬虫实例:通过requests库+xpath来实现爬取某图片网站步骤讲解 第1张

需要用到的库:requests、xpath、OS

以下是具体步骤:

1,分析接口数据,通过chrome或者一些抓包工具来查看。如下图,我们看到是get的方式。

python爬虫实例:通过requests库+xpath来实现爬取某图片网站步骤讲解 第2张

2,分析各url的规律,第一页url=https://pic.netbian.com/4kmeishi/index.html

其它页,url=https://pic.netbian.com/4kmeishi/index_page(page是页码).html

这里要引入一个流程判断,如果page是1,url是一个固定的,而否则,就是另一个。

if(page == 1):

url = 'https://pic.netbian.com/4kmeishi/index.html'

else:

url= 'https://pic.netbian.com/4kmeishi/index_' + str(page) + '.html'

3,向服务器发送请求并获取数据,这里要注意使用UA来伪装,因为有一个反爬机制。

headers = {

'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36'

}

page_content = requests.get(url=url,headers=headers).text

4,下载数据并保存到相应的文件夹。(注意要编码图片名称,否则会乱码)

tree = etree.HTML(page_content)

li_list = tree.xpath('//div[@class="slist"]//li')

if not os.path.exists('./4k'):

os.mkdir('./4k')

for li in li_list:

img_name = li.xpath('./a/img/@alt')[0] + '.jpg'

img_src = 'https://pic.netbian.com/' + li.xpath('./a/img/@src')[0]

name = img_name.encode('iso-8859-1').decode('gbk')

img_data = requests.get(url=img_src).content

img_path = '4k/' + name

with open(img_path,'wb') as fb:

fb.write(img_data)

最后实现效果如下。

python爬虫实例:通过requests库+xpath来实现爬取某图片网站步骤讲解 第3张

输入你要下载的页码就可以自动下载到相应的文件夹。

python爬虫实例:通过requests库+xpath来实现爬取某图片网站步骤讲解 第4张

源码获取请在后台回复关键字"4K"就可以下载!

九七分享吧所有文章来源于网络收集整理,如有侵权请联系QQ2387153712删除,如果这篇文章对你有帮助或者还不错的请给小编点个小赞(◠‿◠),小编每天整理文章不容易(ಥ_ಥ)!!!

文章版权声明:除非注明,否则均为九七分享吧原创文章,转载或复制请以超链接形式并注明出处。

相关阅读

苹果 iOS/iPadOS 15.4.1 正式版发布

哎呦,被盗哦!周杰伦无聊猿NFT疑被钓鱼,价值超300万

“蔚小理”一季度成绩单:小鹏理想均跨过三万辆门槛,蔚来垫底

最完整的人类基因组序列,今天凌晨公布了!

手机行业不景气了?国产厂商大砍单:1.7亿订单取消

快手或将受益于互联网监管

我国实现首例V频段低轨卫星测控

北京外卖封签上线首日调查:1个封签约2分钱,已大面积推广

iPhone更换微信图标教程,安卓:不就是换个主题?

豆瓣关闭私密小组,壮士断腕为时未晚

台积电将5nm产量提高到15万片/月

京东增持京东物流 为了挽救股价还是应对激烈竞争?

发表评论

表情:
评论列表 (暂无评论,440人围观)

还没有评论,来说两句吧...

取消
微信二维码
微信二维码
支付宝二维码