Я уже нашел подобные вопросы здесь, но мой сканер все еще не работает.
Я пытаюсь сканировать несколько URL-адресов, которые я извлекаю из txt.file.Это работает правильно.Однако scrapy / selenium открывает браузер для каждого URL один за другим, но не запускает функцию «crawltips».Только для последнего URL в моем txt.file выполняется код в def crawltips(self, response):
.
Как я могу вызвать функцию "crawltips" для каждого URL в моем txt.file?
class AlltipsSpider(Spider):
name = 'allclasses'
allowed_domains = ['dummy.com']
def start_requests(self):
self.driver = webdriver.Chrome('C:\webdrivers\chromedriver.exe')
with open("urls.txt", "rt") as f:
start_urls = [l.strip() for l in f.readlines()]
for url in start_urls:
self.driver.get(url)
self.driver.find_element_by_id('currentTab').click()
self.driver.find_element_by_xpath('//*[@id="_blog-menu"]/div[2]/div/div[2]/a[3]').click()
yield Request(self.driver.current_url, callback=self.crawltips)
def crawltips(self, response):
sel = Selector(text=self.driver.page_source)
allposts = sel.xpath('//*[@class="block media _feedPick feed-pick"]')
for post in allposts:
username = post.xpath('.//div[@class="col-sm-7 col-lg-6 no-padding"]/a/@title').extract()
publish_date = post.xpath('.//*[@class="bet-age text-muted"]/text()').extract()
yield{'Username': username,
'Publish date': publish_date
}