Scrapy:webpage next按钮使用WebForm_DoPostBackWithOptions()

2024-10-01 07:11:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新来的刮痧和尝试刮https://www.sakan.co/result?srv=1&prov=&cty=&maintyp=1&typ=5&minpr=&maxpr=&bdrm=&blk=

此网页使用的href具有以下内容:

href="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$Content$rptPaging$ctl02$lbPaging", "", true, "", "", false, true))"

数据正在动态加载。我正在尝试为正在加载但找不到的数据查找源(API调用,如果有)。如何导航到下一页并使用Scrapy刮取数据


Tags: 数据httpstruewwwresulthrefsrvco
1条回答
网友
1楼 · 发布于 2024-10-01 07:11:49

这个js有效地做的是触发一个POST请求,您可以在浏览器开发工具的“网络”选项卡中查看请求的详细信息。(Firefox中的F12-打开选项卡并单击链接) enter image description here

您的Scrapy需要复制相同的POST请求。正文中的所有信息都可以在页面中找到,请记住,那些以__开头的字段(如__VIEWSTATE)依赖于实例,因此您需要从页面中检索它们的值,因为您的刮片加载、复制和粘贴通常会失败

更简单的方法是使用FormRequest.from_response()method。但是,检查该方法是否生成与浏览器相同的请求正文是很重要的,,通常该方法会跳过一个必填字段或添加一个额外字段。(它依赖于页面的<form>

您可以在Scrapy FAQ的链接中阅读更多关于刮削此类页面的内容

最后一个提示:如果您的请求正文与浏览器一样,但是请求仍然失败,那么您可能还需要复制请求头

相关问题 更多 >