使用正则表达式爬虫爬取所提供的网页https://www.quanjing.com/tupian/ma.html的图片并保存下来
时间: 2023-12-31 19:04:04 浏览: 25
好的,我可以帮你解决这个问题。你可以使用Python的requests和re库来实现。
首先,你需要导入所需的库:
```python
import requests
import re
```
然后,发送HTTP请求并获取网页的内容:
```python
url = "https://www.quanjing.com/tupian/ma.html"
response = requests.get(url)
html = response.text
```
接下来,使用正则表达式匹配图片链接:
```python
pattern = r'<img.+?src="(.+?\.jpg)".*?>'
image_urls = re.findall(pattern, html)
```
现在,你可以遍历这些图片链接,并将它们保存到本地:
```python
for i, image_url in enumerate(image_urls):
response = requests.get(image_url)
with open(f"image_{i+1}.jpg", "wb") as f:
f.write(response.content)
print(f"Image {i+1} saved.")
```
这样,你就可以成功爬取并保存网页中的图片了。请注意,这只是一个简单的示例,实际应用中可能需要处理异常情况和优化代码。
相关问题
在img_md5='' imgurl='https://pic.quanjing.com/li/fw/QJ6121460050.jpg@!350h' onclick=中想要提取https://pic.quanjing.com/li/fw/QJ6121460050.jpg@!350h的正则表达式怎么写
您可以使用以下正则表达式来提取其中的图片链接:
```
imgurl='(https?://[^']+)' onclick=
```
这个正则表达式会匹配以 `imgurl='` 开头,`' onclick=` 结束的字符串,并提取其中的图片链接部分。在这种情况下,正则表达式会提取 `https://pic.quanjing.com/li/fw/QJ6121460050.jpg@!350h` 作为结果。
<img alt="马,头像" src="https://pic.quanjing.com/mz/ac/QJ6530763179.jpg@!350h" style="width: 492px; height: 327px;" width="5132" height="3409">写出此模块的正则表达式
要提取上述 `<img>` 标签中的图片 URL,你可以使用以下正则表达式:
```python
import re
html_content = '<img alt="马,头像" src="https://pic.quanjing.com/mz/ac/QJ6530763179.jpg@!350h" style="width: 492px; height: 327px;" width="5132" height="3409">'
pattern = r'<img.*?src="(.*?)".*?>'
image_url = re.findall(pattern, html_content)
print(image_url)
```
输出结果为:
```
['https://pic.quanjing.com/mz/ac/QJ6530763179.jpg@!350h']
```
正则表达式 `r'<img.*?src="(.*?)".*?>'` 匹配了 `<img>` 标签中的 `src` 属性,并提取出图片的 URL。在这个例子中,提取到的图片 URL 是 `'https://pic.quanjing.com/mz/ac/QJ6530763179.jpg@!350h'`。
请注意,这只是一个简单的示例,用于提取单个图片的 URL。在实际应用中,正则表达式可能需要更复杂的模式来匹配不同的 HTML 结构和属性。使用 BeautifulSoup 库可以更方便地处理复杂的 HTML 页面。