我正在测试在网站上设置一个spider的规则,以便输入每个项目的url,从每个项目获取信息,然后按照分页,在这种情况下是无限滚动。 但首先我想创建一个规则,让回调函数在每次找到一个项时都被调用,但问题是,它不会被回调函数调用。你知道吗
我也尝试过allow()和一个简单的最小表达式,但仍然一无所获。我得到任何东西的唯一时间是如果我将allow()和restric\u xpaths()都留空。你知道吗
# -*- coding: utf-8 -*-
import scrapy
from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor
from scrapy.exceptions import CloseSpider
class Bahiaprop1Spider(CrawlSpider):
name = 'bahiaprop1'
allowed_domains = ['www.bahiablancapropiedades.com']
start_urls = ['https://www.bahiablancapropiedades.com/buscar#/terrenos/venta/bahia-
blanca/todos-los-barrios/rango-min=50.000,rango-max=350.000']
rules = (
Rule(LinkExtractor(allow = (), restrict_xpaths = ('//div[@class="row"]')),
callback = 'parse_item', follow = True),
)
def parse_item(self, response):
print ('lol')
我希望“lol”会被打印出来。你知道吗
这里的主要问题是,您正在使用的选择器(
//div[@class="row"]
)只匹配div
与单个类row
。 使用XPath表达式来匹配包含类的元素有点棘手:或者可以使用css选择器:
编辑:
一些链接:
相关问题 更多 >
编程相关推荐