利用python中的Requests方法爬取百度图库
时间: 2023-06-07 11:09:12 浏览: 150
Python爬取百度图库图片
很好的问题,我可以回答。利用 Python 的 Requests 库可以轻松爬取百度图库中的图片。具体的方法如下:
1. 导入 requests 库及相关依赖库
```
import requests
import os
import re
from urllib.parse import quote
from bs4 import BeautifulSoup
```
2. 建立函数实现图片下载
```
def download_pic(pic_url, pic_name):
response = requests.get(pic_url)
with open(pic_name, 'wb') as f:
f.write(response.content)
```
3. 抓取百度图片搜索结果并解析
```
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
keyword = "风景"
url = 'https://image.baidu.com/search/index?tn=baiduimage&word=' + quote(keyword) + "&pn={}"
response = requests.get(url.format(0), headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
img_urls = re.findall('"objURL":"(.*?)",', str(soup))
```
4. 循环下载图片
```
for index, img_url in enumerate(img_urls):
try:
download_pic(img_url, '{}.jpg'.format(str(index)))
except Exception as e:
print('Failed to download image %s' % img_url)
print(e)
```
以上就是利用 Python 中的 Requests 方法爬取百度图库的方法,请注意抓取图片时要遵守相关法律法规。
阅读全文