Traceback (most recent call last): File "F:\pythonProject\mat2.py", line 13, in <module> total_page = selector.xpath('//div[@class="content__pg"]/div/@data-totalpage')[0] IndexError: list index out of range
时间: 2024-04-01 17:34:48 浏览: 120
这个错误是因为在使用xpath时没有匹配到对应的元素,导致返回的列表为空。你可以添加一个判断,如果列表为空,则说明匹配失败,输出相关信息即可。:
```
import requests
from lxml import etreeurl = 'https://jn.lianjia.com/zufang/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36'
}
response = requests.get(url, headers=headers)
html = response.text
selector = etree.HTML(html)
total_page_list = selector.xpath('//div[@class="content__pg"]/div/@data-totalpage')
if len(total_page_list) > 0:
total_page = total_page_list[0]
print('总页数为:', total_page)
else:
print('未匹配到结果')
```
这段代码首先发送一个请求到济南市链家网页,然后使用lxml库中的etree模块将网页转化为可操作的对象,接着使用xpath定位到包含总页数的元素,并进行判断。如果匹配成功,就输出总页数,否则输出未匹配到结果。
阅读全文