我一直在努力刮this網站使用硒和scrapy。我想讓我的代碼點擊每個公司的鏈接,然後提取並循環這個過程。但我不知道如何從一個公司鏈接到另一個公司鏈接。Scrapy&Selenium:如何循環XPATH和預成型點擊
任何幫助,將不勝感激。
from scrapy.http import TextResponse
from selenium import webdriver
import scrapy
import time
class ExampleSpider(scrapy.Spider):
name = 'comp'
allowed_domains = ['site']
start_urls = ["site"]
def __init__(self, **kwargs):
super(ExampleSpider, self).__init__(**kwargs)
self.driver = webdriver.Firefox()
def parse(self, response):
self.driver.get(response.url)
self.driver.implicitly_wait(10)
index = 0
while True:
companies = self.driver.find_elements_by_xpath('//*[@id="company-list"]/ul/li')
try:
companies[index].click()
time.sleep(6)
except IndexError:
break
resp = TextResponse(url=self.driver.current_url, body=self.driver.page_source, encoding='utf-8')
for com in resp.xpath('body'):
yield \
{
# DO Something
}
self.driver.back()
index += 1
self.driver.quit()
它從第一個鏈接提取只有它停止。請幫幫我。
你堅持使用硒?這個頁面似乎正在使用API--嘗試查看瀏覽器的XHR請求的開發人員工具。 –