使用谷歌搜索糗事百科,点击热图,右击品目检查,在某个div里面会有图片信息,使用正则表达式获得图片地址
ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
import requests
import re
import os
# content返回的是二进制形式的图片数据
# text 字符串 json(对象)
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 6.1;WOW64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 85.0.4183.83Safari / 537.36"
}
page_text = requests.get(url=url,headers=headers).text
# 使用聚焦爬虫将页面中的内容进行解析/提取
# 正则表达式提取图片地址
ex = '<div class="thumb">.*?<img src="(.*?)" alt.*?</div>'
img_src_list = re.findall(ex,page_text,re.S)
for src in img_src_list:
# 拼接一个完整的url
src = 'https:'+src
# 请求到了图片的二进制数据
img_data = requests.get(url=src,headers=headers).content
# 生成图片名称
img_name = src.split('/')[-1]
# 图片存储的路径
imgPath = './qiutuLibs/' + img_name
with open(imgPath,'wb') as fp:
fp.write(img_data)
print(img_name,'下载成功')