糗事百科趣图内容爬取 首先找到趣图的网址
代码语言:javascript复制https://www.qiushibaike.com/imgrank/
使用通用爬虫对网页整体数据进行爬取 对页面进行抓包工具处理发现在通过一步一步的往下找找到每一个图片的div 后来经过对比后发现每张图片的位置都是一样累 这样就可以通过这个地址进行爬取图片
然后就用聚焦爬虫针对网页中的图片进行爬取
代码语言:javascript复制page_txt=requests.request('GET',url=url,headers=headers).text
#这就获取到整整页面的数据
#使用聚焦爬虫将页面中的所有的搝图进行爬去/提取
ex='<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
img_src_list=re.findall(ex,page_txt,re.S)
这个就找到了这个图片的url对url进行拼接,发现前面只是缺少一个https: 然后就是对图片的爬取 在持久化存储中 要每一个都要一个储存的名称这就运用到split中的分割字符串知己对最后一个进行分割 主要是他最后一个都是不一样的 最后给一个完成的信号就OK了 源代码送上
代码语言:javascript复制# -*-coding=utf-8-*-
# 时间:2021/4/15;11:31
# 编写人:刘钰琢
import requests
import re
import os
if __name__=='__main__':
if not os.path.exists('./qiutulibs'):
os.mkdir('./qiutulibs')
url='https://www.qiushibaike.com/imgrank/'
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36 Edg/89.0.774.76'
}
#利用通用爬虫对整张页面进行爬取
page_txt=requests.request('GET',url=url,headers=headers).text
#这就获取到整整页面的数据
#使用聚焦爬虫将页面中的所有的搝图进行爬去/提取
ex='<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
img_src_list=re.findall(ex,page_txt,re.S)
#print(img_src_list)
for src in img_src_list:
#拼接处一个完整的url
src='https:' src
#请求到图片的二进制数据
img_date=requests.get(src).content
filename=src.split('/')[-1]
imgpath='./qiutulibs/' filename
with open(imgpath,'wb')as fp:
fp.write(img_date)
print(filename,'已经下载完毕')
print('下载完毕了哦')