【发布时间】:2021-09-28 18:05:45
【问题描述】:
我是 Scrapy 的新手,但遇到了问题。我正在尝试从使用此类按钮的网页中提取信息:
<a id="" href="#" ... onclick="function()..."
我一直在寻找示例,但所有示例都使用 href。有解决办法吗?我需要使用其他工具来完成这项工作吗?
谢谢
【问题讨论】:
标签: python button scrapy onclick screen-scraping
我是 Scrapy 的新手,但遇到了问题。我正在尝试从使用此类按钮的网页中提取信息:
<a id="" href="#" ... onclick="function()..."
我一直在寻找示例,但所有示例都使用 href。有解决办法吗?我需要使用其他工具来完成这项工作吗?
谢谢
【问题讨论】:
标签: python button scrapy onclick screen-scraping
不,您不能使用scrapy 来执行此操作,但如果您想抓取这些类型的网站,则可以使用selenium。对于这些 javascript 页面来说,它是一个很棒的库。
有关scrapy 为何不起作用以及为什么应该使用selenium 的更多详细信息,您可以访问这些链接。 This 与您的问题类似。 Selenium vs scrapy。您可以访问这里:Scraping Javascript Enabled Websites using Scrapy-Selenium
【讨论】:
splash 抱歉。我不能给你任何解释。我必须对此进行自己的研究,学习基础知识,然后才能写出任何进一步的解释。我现在不感兴趣。所以,我写了我在研究你的问题时所知道的和发现的。
您不能“单击”按钮,但可以监视网络选项卡以查看单击时发送的请求。 以this page 为例。当您单击登录按钮时,将发送一个 POST 请求。您可以使用 scrapy 轻松发送 POST 请求。 这是一个代码sn-p:
r = FormRequest.from_response(response, formdata={'username': 'd','password':'x'})
yield(r)
【讨论】: