# 引入OS库
import os
#引入我们的requests库
import requests
#引入我们的pyquery库
from pyquery import PyQuery as pq
#引入我们的头
headers = {
"user-agent": "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Mobile Safari/537.36 Edg/106.0.1370.34"
}
#引入我们的链接
for page in range(10):
url = "https://book.douban.com/top250?start=%s" % (page*10)
#使用我们requests当中的get方法
r=requests.get(url,headers=headers)
#这一行是用来查看我们的状态码的,200是可以正常运行的
r.raise_for_status()
#让我们全文的文本编码等于我们头部的
r.encoding=r.apparent_encoding
#将我们的r.text赋值给demo
demo = r.text
#进行初始化一下
doc = pq(demo)
#计数用
i = 1
#使用我们的遍历来获取属性值为.title-content-title这个的标签
for inf in doc.find('.nbg').items():
p=pq(inf)
# 获取子项
w=p.children()
# 获取img标签的属性值src
v=w.attr.src
# 设置文件夹的名字
dir_name = 'Image'
# os模块判断并创建
if not os.path.exists(dir_name):
os.mkdir(dir_name)
picture_name = v.split('/')[-1]
reponse=requests.get(v)
# 使用with open 进行保存代码到我们的本地文件
with open(dir_name+'/'+picture_name,"wb")as f:
f.write(reponse.content)