我用python编写了一个脚本,使用Scrapy从使用身份验证的网站上删除数据。
我正在抓取的页面确实很痛苦,因为它主要是由javascript和AJAX请求生成的。页面的所有正文都放在一个<form>
内,该页面允许使用submit
按钮更改页面。URL不变(它是一个.aspx)。在
我已经成功地从第一页删除了所有需要的数据,然后使用以下代码单击此输入按钮更改页面:
yield FormRequest.from_response(response,
formname="Form",
clickdata={"class":"PageNext"},
callback=self.after_login)
after_login
方法正在抓取数据。
但是,我需要在单击具有onclick
属性的容器后出现在另一个div中的数据。我需要做一个循环,以便点击每个容器,显示数据,并抓取它们,然后我将转到下一页并执行相同的过程。在
问题是我找不到如何让“脚本”使用Selenium单击容器(登录时,如果没有,我就不能转到这个页面),然后Scrapy在XHR请求发出后抓取数据。在
我在网上做了很多研究,但没有尝试任何解决办法。在
谢谢!在
好吧,所以我几乎得到了我想要的,遵循@malberts的建议。 我使用这种代码来获取Ajax响应请求:
假设响应是HTML格式的。问题是,当我通过Chrome开发工具查找响应请求时,响应并不完全相同。我还没有考虑到所有的表单数据(~10/25),会不会需要所有表单数据,即使它们不会根据id更改?在
谢谢!在
相关问题 更多 >
编程相关推荐