我写的lua脚本可以在chrome中使用闪屏工作,并且可以成功获取页面的html(),但是我在pycharm中运行此脚本,尽管它没有显示任何错误,但它不会抓取任何数据。 这是针对网站https://www.daraz.pk/smartphones/
试图更改按钮的css选择器,但是没有运气。
Lua脚本:
function main(splash, args)
assert(splash:go(args.url))
assert(splash:wait(10.0))
treat=require('treat')
result = {}
for i=1,68,1
do
assert(splash:runjs("document.querySelector('.ant-pagination-next .ant-pagination-item-link').click()"))
assert(splash:wait(10.0))
result[i]=splash:html()
end
return treat.as_array(result)
end
这是start_request方法: def start_requests(): url ='https://www.daraz.pk/smartphones/'
yield SplashRequest(url=url, callback=self.parse, endpoint='execute',
args={'wait': 0.5, 'lua_source': self.script, 'timeout': 3600})
最后是解析方法:
def parse(self, response):
for page in response.text:
sel = Selector(text=page)
for phone in sel.xpath('//div[@class="c2prKC"]'):
yield {
'Name': phone.xpath('.//div[@class="c16H9d"]/a/text()').extract(),
'Price': phone.xpath('.//span[@class="c13VH6"]/text()').extract(),
'old_price': phone.xpath('.//del[@class="c13VH6"]/text()').extract(),
}
有关如何执行此操作的任何建议?