2024-10-01 13:28:57 发布
网友
我得到了一个我无法理解的Python错误。我已将代码简化到最低限度:
response = requests.get('http://pycoders.com/archive') tree = html.fromstring(response.text) r = tree.xpath('//divass="campaign"]/a/@href') print(r)
但还是有错误
有人知道问题是从哪里来的吗?可能是依赖关系问题吗?谢谢。在
表达式'//divass="campaign"]/a/@href'在语法上不正确,没有多大意义。而是要检查class属性:
'//divass="campaign"]/a/@href'
class
//div[@class="campaign"]/a/@href
现在,这将有助于避免无效表达式错误,但是表达式将找不到任何内容。这是因为requests接收的响应中没有数据。您需要模拟浏览器的操作来获取所需的数据,并发出附加请求以获取包含活动的javascript文件。在
requests
以下是对我有效的方法:
印刷品:
['http://us4.campaign-archive2.com/?u=9735795484d2e4c204da82a29&id=3384ab2140', ... 'http://us4.campaign-archive2.com/?u=9735795484d2e4c204da82a29&id=8b91cb0481' ]
你做xpath是错的。 如果你想获取所有的href,你的xpath应该是
hrefs = tree.xpath('//div[@class="campaign"]/a') for href in hrefs: print(href.get('href'))
或者在一行中:
表达式
'//divass="campaign"]/a/@href'
在语法上不正确,没有多大意义。而是要检查class
属性:现在,这将有助于避免无效表达式错误,但是表达式将找不到任何内容。这是因为
requests
接收的响应中没有数据。您需要模拟浏览器的操作来获取所需的数据,并发出附加请求以获取包含活动的javascript文件。在以下是对我有效的方法:
^{pr2}$印刷品:
你做xpath是错的。 如果你想获取所有的href,你的xpath应该是
或者在一行中:
^{pr2}$相关问题 更多 >
编程相关推荐