我目前正在使用HTML抓取来从我在Discord中创建的机器人的网页获取一些数据。我之前已成功使用lxml从不同的网站上抓取HTML,但是,我现在试图抓取的网站是检测到一个广告拦截器,因此无论我试图抓取哪些数据,我都会收到相同的值;
我的代码如下 `import sys 来自lxml import html 导入请求
def main(arg): page = requests.get(" https://fortnitetracker.com/profile/pc/" + arg) tree = html.fromstring(page.content)
killdeath = tree.xpath('//div[@class="stats">K/d]/text()')
print(killdeath)`
我得到的价值是
'\nPlease consider adding Fortnite Tracker to your adblock whitelist! Our ads support the development and hardware costs of running this site. Really hate ads? Become a
答案 0 :(得分:0)
可能发生的事情是,您获得的初始页面实际上只有“请考虑...”文本,以及一堆实际加载您看到的内容的JavaScript。 (尝试打印出page.content以查看您实际获得的内容。)
无论如何,因为请求库不是一个成熟的Web浏览器,它不会执行JavaScript,所以你只看到广告拦截器消息。
答案 1 :(得分:0)
在网站上说:
要使用我们的API,我们要求您使用API密钥。要使用API密钥,您需要将其作为请求的标头传递。
您是否在请求中添加了标头? 此外,我建议在postman或类似的应用程序中提出请求,以便您实际看到整个响应。