用Xpath怎么抓取网上图片
时间: 2023-07-03 16:28:41 浏览: 150
使用 XPath 抓取网上图片的方法与使用 Python 库类似,只不过需要使用 XPath 表达式来定位 HTML 中的图片元素。
下面是一个示例代码,演示如何使用 Python 和 XPath 抓取指定网站上的所有图片:
```python
from lxml import html
import requests
url = 'https://www.example.com'
response = requests.get(url)
tree = html.fromstring(response.content)
# 使用 XPath 表达式定位所有图片元素
images = tree.xpath('//img')
for image in images:
src = image.get('src')
if src.startswith('http'):
img_data = requests.get(src).content
with open('image_name.jpg', 'wb') as handler:
handler.write(img_data)
```
这段代码中,我们使用 requests 库发送 GET 请求获取指定网站的 HTML 内容,然后使用 lxml 库中的 html 模块将 HTML 转换成 XPath 可以处理的对象。接下来,我们使用 XPath 表达式 `//img` 来选取 HTML 中的所有图片元素,并逐个获取图片的 URL,最后将图片保存到本地。同样,为了避免下载重复的图片,我们可以通过判断图片 URL 是否以 'http' 开始来过滤掉一些不需要的图片。
阅读全文