用正则表达式爬取百度贴吧中的图片https://tieba.baidu.com/p/6282290065,图片保存文件名格式为图片1.jpg、图片2.jpg等
时间: 2024-10-19 22:04:06 浏览: 64
用正则表达式直接从网页源代码中提取百度贴吧图片链接可能会比较困难,因为帖子页面通常会通过动态加载或JavaScript生成。不过,你可以借助一些网络爬虫库如Python的BeautifulSoup或Scrapy来获取和解析HTML,然后使用正则表达式辅助匹配图片链接。
首先,你需要使用requests库发送HTTP请求到该帖吧页面,并获取响应内容:
```python
import requests
url = "https://tieba.baidu.com/p/6282290065"
response = requests.get(url)
html_content = response.text
```
接下来,可以使用BeautifulSoup解析HTML内容,定位图片元素(比如`img`标签),找到`src`属性的图片链接:
```python
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'lxml')
img_tags = soup.find_all('img')
# 假设所有图片都是在一个循环里,这里简化处理
image_links = [img['src'] for img in img_tags]
```
然后,对于每个图片链接,你可以使用os库创建并下载图片,同时按照指定格式命名文件:
```python
import os
counter = 1
for link in image_links:
# 将链接转换为文件名格式
filename = f"图片{counter}.jpg"
file_path = os.path.join(".", filename) # 文件保存路径
try:
with open(file_path, 'wb') as f:
response = requests.get(link, stream=True)
if response.status_code == 200:
f.write(response.content)
counter += 1
except Exception as e:
print(f"下载图片失败: {e}")
阅读全文