【发布时间】:2017-12-13 23:19:36
【问题描述】:
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'quotes'
allowed_domains = ['www.onthemarket.com']
start_urls = ['https://www.onthemarket.com/for-sale/property/london/']
def parse(self, response):
next_page_url = response.css("li > a.arrow::attr(href)").extract_first()
if next_page_url:
next_page_url = response.urljoin(next_page_url)
yield scrapy.Request(url=next_page_url, callback=self.parse)
print(next_page_url)
我需要一个包含所有指向下一页的链接的列表。如何遍历所有分页链接并用scrapy提取?他们都有 class= 箭头。
【问题讨论】:
-
如果页面使用 JavaScript 添加分页,那么您需要
Selenium来控制将运行 JavaScript 的 Web 浏览器。或者你必须找到JavaScript用来获取数据的url,然后你才能从这个url中读取所有内容。 -
你不能把它放在标准列表中吗?或者通常
yield每个链接并运行代码并选择保存在文件中,您将获得文件中的所有链接。 -
您不必搜索“下一页” - 它始终是
extract()中的最后一项 -
或者你可以试试 CSS 选择器:last-child
标签: python scrapy scrapy-spider