怎么爬取一个网页中的一百张照片(不使用BeautifulSoup 不使用函数)
时间: 2024-04-16 12:25:19 浏览: 65
如果你不想使用 BeautifulSoup 库和函数来爬取网页中的照片,你可以使用 Python 的 re 模块(正则表达式)和 requests 库来实现。
以下是一个示例代码,展示如何使用正则表达式和 requests 库来爬取一个网页中的一百张照片:
```python
import re
import requests
def crawl_images(url, num_images):
response = requests.get(url)
html_content = response.text
pattern = r'<img.*?src="(.*?)".*?>'
image_urls = re.findall(pattern, html_content)
count = 0
for image_url in image_urls:
if count == num_images:
break
if image_url.startswith('http'):
response = requests.get(image_url)
with open(f'image_{count}.jpg', 'wb') as f:
f.write(response.content)
count += 1
crawl_images('https://example.com', 100)
```
上述代码与之前的示例类似,只是使用了正则表达式来提取图片的 URL,并使用 requests 库发送 HTTP 请求下载图片。
需要注意的是,使用正则表达式来解析 HTML 可能不够健壮和可靠,因为 HTML 的结构可能会变化。对于复杂的 HTML 页面,使用 BeautifulSoup 库通常更可靠和灵活。但如果你坚决不使用 BeautifulSoup 和函数,使用正则表达式和 requests 库也是一种可行的方法。
阅读全文