# ./scrape.py
from lxml import html
import requests
url = "http://www.my-target-url.com"
page = requests.get(url)
# can I insert some js event codes to execute here?
tree = html.fromstring(page.content)
print tree.xpath("/html/to/target/data/text()")[0]
我做这个是为了抓取目标页面,它有几个按钮来更改数据。我想要所有可以从这些按钮获得的数据。我搜索了发送带参数的 POST 或 GET 的方式。似乎没有其他办法,只能从该网页触发 js 事件(就像我可以在 chrome 开发人员的控制台中做的那样)。
有什么方法可以执行 js 事件来更改此 python 代码中所需数据的响应对象?我应该使用请求以外的其他库吗?或者我可以搜索的其他方式?(比如在后面创建一些网络浏览器对象并使用它?那有什么帮助?)
最佳答案
简答,不。
所有的 javascript 事件都由浏览器的 js 引擎处理。这意味着您还需要一个 JavaScript 引擎来处理和执行脚本并触发事件。
关于javascript - 在 python 网络抓取期间触发 js 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34482144/