爬取url = "http://pic.netbian.com/4kqiche/" 2.get请求参数处理 resp = requests.get(url=url,headers=headers) 3.数据解析:src的属性值 alt属性 4.提取子页面图片链接和图片名字 请求图片进行持久化存储
时间: 2024-04-21 18:28:15 浏览: 135
好的,我来为您解释一下这段 Python 代码的具体实现过程。
```python
# 导入需要使用的库
import requests
from bs4 import BeautifulSoup
# 设置请求头部信息
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'}
# 定义待爬取的网页地址
url = "http://pic.netbian.com/4kqiche/"
# 发起 GET 请求获取响应数据
resp = requests.get(url=url, headers=headers)
# 对响应数据进行解析
soup = BeautifulSoup(resp.text, 'html.parser')
img_list = soup.find(id='main').find_all('img')
# 遍历每张图片,提取其链接和名称,并进行持久化存储
for img in img_list:
img_url = 'http://pic.netbian.com' + img['src']
img_name = img['alt'] + '.' + img['src'].split('.')[-1]
img_data = requests.get(img_url, headers=headers).content
with open(img_name, 'wb') as f:
f.write(img_data)
```
具体实现过程如下:
1. 导入需要使用的 requests 和 BeautifulSoup 库。
2. 设置请求头部信息,模拟浏览器的访问,防止被网站禁止访问。
3. 定义待爬取的网页地址。
4. 发起 GET 请求获取响应数据,并使用 BeautifulSoup 库对响应数据进行解析。
5. 在解析后的文档中,找到 id 为 "main" 的元素,然后找到其中的所有 img 标签,得到一个包含所有图片标签的列表。
6. 遍历图片标签列表,对每张图片进行处理,提取其链接和名称。
7. 使用 requests 库对图片链接发起 GET 请求获取图片二进制数据。
8. 将获取到的图片二进制数据存储到磁盘上的相应文件中。
阅读全文