मैं Splash 2.0.2 + Scrapy 1.0.5 + Scrapyjs 0.1.1
का उपयोग कर रहा हूं और मैं अभी भी एक क्लिक के साथ जावास्क्रिप्ट प्रस्तुत करने में सक्षम नहीं हूं।स्क्रैप + स्पलैश + स्कैरेपीजेएस
class OlxSpider(scrapy.Spider):
name = "olx"
rotate_user_agent = True
allowed_domains = ["olx.pt"]
start_urls = [
"https://olx.pt/imoveis/"
]
def parse(self, response):
script = """
function main(splash)
splash:go(splash.args.url)
splash:runjs('document.getElementById("contact_methods").getElementsByTagName("span")[1].click();')
splash:wait(0.5)
return splash:html()
end
"""
for href in response.css('.link.linkWithHash.detailsLink::attr(href)'):
url = response.urljoin(href.extract())
yield scrapy.Request(url, callback=self.parse_house_contents, meta={
'splash': {
'args': {'lua_source': script},
'endpoint': 'execute',
}
})
for next_page in response.css('.pager .br3.brc8::attr(href)'):
url = response.urljoin(next_page.extract())
yield scrapy.Request(url, self.parse)
def parse_house_contents(self, response):
import ipdb;ipdb.set_trace()
मैं कैसे यह काम करने के लिए प्राप्त कर सकते हैं: यहाँ एक उदाहरण यूआरएल https://olx.pt/anuncio/loja-nova-com-250m2-garagem-em-box-fechada-para-arrumos-IDyTzAT.html#c49d3d94cf
मैं अभी भी प्रदान की गई फोन नंबर के बिना पेज हो रही है?
है मैं वास्तव में यह काम करने के लिए है क्योंकि मैं @ psychok7 आप कर रहे हैं यकीन है कि scrapyjs पर्याप्त होगा दिनांक पिकर कैलेंडर और सामान – psychok7
साथ करने के लिए और अधिक जटिल js साइटों ले जाया जा रहा जरूरत है आपकी जटिल गतिशील वेब साइट के लिए? हो सकता है कि 'सेलेनियम' पर स्विच करने से चीजें तेजी से और सरल हो जाएंगी .. – alecxe
मैं इसे आज़मा रहा हूं .. मुझे नहीं पता कि यह संभव है या नहीं .. लेकिन मैं सेलेनियम में भी देखूंगा धन्यवाद – psychok7