Python如何批量爬取某网站图片
这篇文章给大家分享的是有关Python如何批量爬取某网站图片的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网页空间、营销软件、网站建设、岳塘网站维护、网站推广。
1.需要用到的库有:
Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装
IDE : pycharm
python 版本: 3.8.1
2.爬取地址:
https://www.vmgirls.com/9384.html
-------------------废话不多说了,不懂的可以给我留言哦,接下来我们一步一步来操作------------------
1.请求网页
# 请求网页 import requests response=requests.get('https://www.vmgirls.com/9384.html') print(response.text)
发现请求到的是403,直接禁止了我们访问,requests库会告诉他我们是python过来的,他知道我们是一个python禁止我们反爬
解决:
我们可以伪装头,把头设置一下
# 请求网页 import requests headers={ 'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36' }response=requests.get('https://www.vmgirls.com/9384.html',headers=headers) print(response.request.headers)
执行结果:
这样头就伪装了
2.解析网页
# 请求网页 import requests import reheaders={ 'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36' }response=requests.get('https://www.vmgirls.com/9384.html',headers=headers) # print(response.request.headers) # print(response.text) html=response.text#解析网页urls=re.findall('
结果:
可能对re.findall后面不太理解怎么来的,关键就是要找到图片的dom然后根据re库的一个匹配规则来匹配,要匹配的用(.*?)来表示,不需要匹配的用.*?来代替就可以了,
打开网址,按f12查看源码找到图片的代码
复制图片代码,打开网页源码按 ctrl+f 进行搜索,找到图片源码的位置
3.保存图片
具体可以看源码,我给这些图片创建了一个文件夹(需要os库),并且命了名,这样分类下次看小姐姐就比较容易找到啦
import time import requestsimport reimport osheaders={ 'user-agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.100 Safari/537.36' }response=requests.get('https://www.vmgirls.com/9384.html',headers=headers) # print(response.request.headers) # print(response.text) html=response.text# 解析网页# 目录名字dir_name=re.findall('
感谢各位的阅读!关于“Python如何批量爬取某网站图片”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
文章题目:Python如何批量爬取某网站图片
文章出自:http://ybzwz.com/article/gpddgp.html