python之使用grequests爬取豆瓣TOP250图片封面
使用方法,需要在同级目录建立一个pics的文件夹,同时需要安装库grequests。grequests安装方法如下:
在CMD中输入以下命令:
pip install grequests
话不多说,直接上代码:
import grequests
from pyquery import PyQuery
import pathlib
name = 1
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36 Edg/121.0.0.0"
}
for i in range(0, 226, 25):
urls = f"https://movie.douban.com/top250?start={i}&filter="
# print(urls)
response = grequests.get(urls,headers=headers),
get_ = grequests.map(response)
contentt = get_.text
# print(contentt)
pyq = PyQuery(contentt)
cc = pyq.find("img").items()
for j in cc:
# print(j.attr("src"))
src_urls = j.attr("src")
# print(src_urls)
res = grequests.get(src_urls),
resss = grequests.map(res)
cont = resss.content
path = pathlib.Path(f"pics/{name}.jpg")
path.write_bytes(cont)
name = name + 1
这段代码是使用grequests库来爬取豆瓣TOP250电影的封面图片,并将图片保存到同级目录下的"pics"文件夹中。首先,我们需要安装grequests库,在CMD中输入以下命令:pip install grequests。
接下来,就可以运行这段代码了。首先导入需要的库,包括grequests和pyquery。然后设置一个计数器name,用于给图片命名。
在循环中,我们通过设置不同的起始位置来获取不同页的电影信息。通过grequests库发送网络请求,获取到页面的HTML内容。然后使用pyquery库对HTML进行解析,找到所有的<img>标签。遍历这些标签,获取图片的URL,并再次使用grequests库发送请求,获取图片的二进制数据。
接下来,我们使用pathlib库创建一个路径对象,指定了保存图片的路径和文件名。然后使用.write_bytes()方法将图片的二进制数据写入该路径中。
最后,递增计数器name,以便下次保存下一张图片。代码执行完毕后,就可以在pics文件夹中看到保存的图片了。
需要注意的是,为了能够成功获取页面内容和图片数据,我们在发送请求时设置了一个User-Agent头部,模拟浏览器访问。这样可以规避一些反爬虫的措施。
希望这个代码能帮到你,如果还有其他问题,请随时提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]