我尝试抓取这个website,我尝试在我的cli中运行scrapy shell,我可以得到xpath响应,最高可达//table[@class='table my-table']
,但在此之后,我无法获得任何数据,因为响应是空数组[]
。我不觉得内容隐藏在JavaScript中。我错过了一些技术,还是我的方法对scrapy有错误?
以下是我的整体代码,供参考
class MarketDataSpider(scrapy.Spider):
name = "nepse_floorsheet"
def start_requests(self):
url = 'http://www.nepalstock.com/main/floorsheet/index/0/'
yield Request(url, callback=self.parse)
def parse(self, response):
for tr in response.xpath("//table[@class='table my-table']"):
print(tr.xpath("//tbody//tr[position()>2and position()<23]"))
2条答案
按热度按时间pu82cl6c1#
要在元素中搜索XPATH,需要在xpath表达式前面加一个点,如下所示:
没有测试它,但这是正确的方式。Scrapy文档:https://docs.scrapy.org/en/latest/
xvw2m8pv2#
只要删除tbody标记,它就会生成ResultSet,但输出总是根据当前的静态表数据动态更改。
范例: