【发布时间】:2020-11-05 07:43:41
【问题描述】:
我尝试提取每个项目的href(每页六个)。要转到下一页,我使用 next_click()。 Selenium webdriver 打开并单击所有页面(到目前为止还不错)。但只从第一页中提取项目。那是五次(与存在的页面一样多)。看起来,它识别出正确数量的项目,但只重新提取第一页的项目。注意:如果您单击下一页,则 url 保持不变。非常感谢您的帮助!
import scrapy
from pprint import pprint
import time
from scrapy.linkextractors import LinkExtractor
from selenium import webdriver
class contentSpider(scrapy.Spider):
name = "university"
start_urls = [
'http://unisg.prospective.ch/index.cfm'
]
def __init__(self):
self.driver = webdriver.Firefox()
def parse(self, response):
self.driver.get(response.url)
while True:
next = self.driver.find_element_by_xpath('//a[@id="btn-forward"]')
try:
next.click()
time.sleep(3)
items = response.xpath('//div[@class="section group jobContent countJobRecords"]')
for i in items:
list_div = s.xpath('.//div')
link = list_div.xpath('.//a/@href').extract_first()
yield joblink_item(link=link)
except:
break
【问题讨论】:
标签: python selenium-webdriver scrapy