requests爬取网站xpath内容
时间: 2024-10-10 21:14:40 浏览: 55
使用Python的requests库和lxml库来爬取网页内容并使用XPath表达式进行数据提取的过程如下:
1. 首先,导入所需的库:
```python
import requests
from lxml import etree
```
2. 发送HTTP请求获取网页内容:
```python
url = 'https://example.com/menus' # 替换为实际的美食网站URL
response = requests.get(url)
```
3. 检查响应状态码(成功则200):
```python
if response.status_code == 200:
page_content = response.text
else:
print(f"Error: {response.status_code}")
```
4. 解析HTML内容:
```python
html = etree.HTML(page_content)
```
5. 使用XPath表达式提取所需信息,如美食名称和人气:
```python
# 示例:提取第四个类为'info-tb'的表格中第四行的第四个单元格文本
level = html.xpath('//table[@class="info-tb"]/tr[4]/td[4]/text()')
# 使用normalize-space()去除多余的空白字符
level = html.xpath('normalize-space(//table[@class="info-tb"]/tr[4]/td[4]/text())')
# 1.4 多属性匹配,例如查找具有特定类名且属性名为"name"的li元素下的a标签文本
result = html.xpath('//li[contains(@class, "li") and @name="item"]/a/text()')
```
6. 如果提取到的是链接的一部分而不是完整的URL,可能需要进一步处理:
```python
full_urls = [f'{url}/{link}' for link in result if link.startswith('#')]
```
阅读全文