绅士专用,爬取妹子图片
【摘要】 Python连接数据库,为后期相关操作做准备
开搞开搞
安装第三方库
安装第三方请求库(requests)
pip install requests
请求页面
请求成功了
存在特殊情况:请求失败
原因八成是网页知道我们是Python过来的不给我们请求。
这里教各路神仙去解决这个User-Agent的尴尬问题:
嗯…怎么看网页的啊?
啊Sir。来了不要催
(只好打马赛克了)
1丨## 请求网页 2丨import requests 3丨headers={ 4丨 'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent 5丨} 6丨response = requests.get('https://www.vmgirls.com/12945.html') 7丨print(response.request.headers) 8丨print(response.text)
解析网页
需要使用 re库来进行正则匹配
找到我们的图片的位置
上面注意看匹配内容
然后进行解析(我们不是什么都需要匹配的,只是需要匹配href里面的内容)
1 丨## 请求网页 2 丨import requests 3 丨import re 4 丨 5 丨headers = { 6 丨 'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent 7 丨} 8 丨response = requests.get('https://www.vmgirls.com/12945.html')#然后这里就吧上面的headers放进去 9 丨#response = requests.get('https://www.vmgirls.com/12945.html',headers=headers) 10丨# print(response.request.headers) 11丨# print(response.text) 12丨 html = response.text 13丨#解析网页 14丨urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html) # (.*?) 意思就是匹配这个数据 15丨 print(urls)
保存图片
第一版本:(文件存在在当前的文件夹,没有创建出来分类)
1 丨User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 2 丨## 请求网页 3 丨import requests 4 丨import re 5 丨import time 6 丨 7 丨headers = { 8 丨 'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent 9 丨} 10丨response = requests.get('https://www.vmgirls.com/12945.html') 11丨 # print(response.request.headers) 12丨# print(response.text) 13丨html = response.text 14丨#解析网页 15丨urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html) 16丨print(urls) 17丨# 保存图片 18丨for url in urls: 19丨 time.sleep(1) #睡眠一秒,别把别人网站查崩了 20丨 file_name = url.split('/')[-1] 21丨 response = requests.get(url) # 重新请求网站 图片地址就可以直接看了 22丨 with open(file_name,'wb') as f: #'wb':二进制 file_name:图片名称 23丨 f.write(response.content)
图片就有了…
有问题?有点…不可能数据啥子的都放这里吧…
1 丨## 请求网页 2 丨import requests 3 丨import re 4 丨import time 5 丨import os 6 丨 7 丨headers = { 8 丨 'User-Agent':'only老K'# 这里可以随意输入,也可以输入网页上面的User-Agent 9 丨} 10丨response = requests.get('https://www.vmgirls.com/12945.html') 11丨# print(response.request.headers) 12丨# print(response.text) 13丨html = response.text 14丨#解析网页 15丨dir_name = re.findall('<h1 class="post-title h3">(.*?)</h1>',html)[-1] #根据网页标题去做我们的文件夹名字 16丨if not os.path.exists(dir_name): 17丨 os.mkdir(dir_name) 18丨urls = re.findall('<a href="(.*?)" alt=".*?" title=".*?">',html) # (.*?) 意思就是匹配这个数据 19丨# print(urls) 20丨# 保存图片 21丨for url in urls: 22丨 time.sleep(1) 23丨 file_name = url.split('/')[-1] 24丨 response = requests.get(url) 25丨 with open(dir_name +'/' + file_name,'wb') as f: #'wb':二进制 file_name:图片名称 26丨 f.write(response.content)
网络觉得你的爬取速度…
文章作者:
文章来源:https://blog.csdn.net/weixin_44255950/article/details/106729309
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)