我想创建一个垃圾脚本,在任何craigslist子域中获取计算机演唱会的所有结果: 例如:http://losangeles.craigslist.org/search/cpg/ 这个查询返回许多文章的列表,我尝试使用CrawlSpider和linkExtractor获取每个结果的标题和href(不仅是第一页上的结果),但是脚本没有返回任何结果。 我把我的剧本贴在这里,谢谢
import scrapy
from scrapy.spiders import Rule,CrawlSpider
from scrapy.linkextractors import LinkExtractor
class CraigspiderSpider(CrawlSpider):
name = "CraigSpider"
allowed_domains = ["http://losangeles.craigslist.org"]
start_urls = (
'http://losangeles.craigslist.org/search/cpg/',
)
rules = (Rule(LinkExtractor(allow=(), restrict_xpaths=('//a[@class="button next"]',)), callback="parse_page", follow= True),)
def parse_page(self, response):
items = response.selector.xpath("//p[@class='row']")
for i in items:
link = i.xpath("./span[@class='txt']/span[@class='pl']/a/@href").extract()
title = i.xpath("./span[@class='txt']/span[@class='pl']/a/span[@id='titletextonly']/text()").extract()
print link,title
根据您粘贴的代码,
parse_page
:上面#2的原因是
for
循环没有正确缩进。在尝试缩进
for
循环:相关问题 更多 >
编程相关推荐