获取信息
访问url后按f12调试
点击network
定位图片信息:
可以看到,每个图片的名字和下载地址在标红处,示例如下:
data-actualsrc=“https://pic4.zhimg.com/v2-1681ff26afbd5f92aa5790b4dee6a63f_b.jpg”
现在就是requests访问url,然后使用re正则去匹配到所有这个data-actualsrc的url
然后使用for循环批量下载这个url到本地
代码
import re
import os
import requests
url = 'https://zhuanlan.zhihu.com/p/664329877'
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36'}
response = requests.get(url, headers=headers)
response.encoding = "utf-8"
# print(response.text)
parser = re.compile('data-actualsrc="(https://pic4.*?)"')
image_urls = re.findall(parser, response.text)
for image_url in image_urls:
# print(image_url)
image_name = image_url.split('/')[-1]
print(f"downloading image:{image_name}")
image_response = requests.get(image_url)
if image_response.status_code == 200:
with open (image_name, 'wb') as f:
f.write(image_response.content)
print("success")
else:
print("failed")
print("yes")
返回
图片都下载到了当前项目的同级目录下
这个案例print输出也是简单的,就对付一下。
下载的路径建议使用os模块去创建个单独的目录,将图片杜下载到指定目录里