如何模拟下拉选择和使用scrapy更新表负载?

问题描述 投票:0回答:1

[我正在尝试从第investing.com/equities页的“道琼斯工业平均指数”下拉列表开始,在investing.com中加载有关每个股票页面的信息,>

我一直在考虑使用scrapy与

options = response.css("select[class=stocksFilter] option[id=166]")

但是这不会模拟选择动作。

选择操作完成后,我将逐个浏览#cross_rate_markets_stocks_1中的表项,并递归地检索那些资产页面

您能指出如何模拟点击动作吗?

我试图从investing.com/equities页面上的“道琼斯工业平均指数”下拉列表开始,浏览investing.com中每个股票页面的信息,] ...] >> < [

选择动作是用户与浏览器UI的交互,但是

scrapy

不会呈现网页,我们无法模拟用户交互或使用Java来运行Javascript。但是,如果您对通过模拟用户交互进行爬网感兴趣,则selenium可能是您的理想工具。
回到问题,如果要使用

scrapy

进行爬网,我们应该专注于目标网站发送给/由目标网站发送的requestsresponses,您可以将它们记录在开发人员工具中您的浏览器。打开开发人员工具后,单击下拉菜单,您可以看到相应的请求已发送到该URL:https://cn.investing.com/equities/StocksFilter?noconstruct=1&smlID=0&sid=&tabletype=price&index_id=166

screenshot1

这是一个[[GET

请求,为index_id分配了选定的库存ID,您可以从https://investing.com/equities的HTML元素中获取库存ID和名称>

'xpath of stock ID: //*[@id="stocksFilter"]/option/@id' 'xpath of stock Name: //*[@id="stocksFilter"]/option/text()'

scrapy css-selectors web-crawler
1个回答
0
投票
选择动作是用户与浏览器UI的交互,但是

scrapy

© www.soinside.com 2019 - 2024. All rights reserved.