[python]豆瓣网爬取图书图片信息教程
[python]豆瓣网爬取图书图片信息教程
1.准备工作:已经爬取了图片的URL,图书的相关信息,以便后期进行标记。

画圈处为图片链接和图书ID(用于匹配图片)
2.定义url数组和id数组
作用同上,且长度相同,url用于爬图片,id用于命名图片存储本地。


3.操作代码
引用了python的requests库
PS:在获取网页操作r = requests.request(‘get’,urls[i], headers=headers) #获取网页
时,若不加headers
和
headers配置文件headers = {‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36’}
会报错403,也就是说你的IP被豆瓣封了。
import os
import requests
os.chdir('C:/Users/测试/Desktop/Python/pics')//操作的环境目录,即图片存取目录
urls=image_list
for i in range(len(image_list)):
try:
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.89 Safari/537.36'}
r = requests.request('get',urls[i], headers=headers) #获取网页
with open(str(id_list[i])+'.jpg','wb') as f: #打开写入到path路径里-二进制文件,返回的句柄名为f
f.write(r.content) #往f里写入r对象的二进制文件
f.close()
except exception as e://可能报错时要抛出异常,打印当前的已保存索引,便于之后操作
print(i)
print(e)
print(r.status_code)
4.解决豆瓣封IP方法
- 设置headers
- 设置cookies
- 用多线程爬取