Python Scrapy递归抓取craigslist

Python Scrapy递归抓取craigslist,python,scrapy,scrapyd,Python,Scrapy,Scrapyd,我正在使用scrapy来废弃craigslist并获取所有链接,转到该链接,存储每个页面的描述和回复电子邮件。现在,我已经写了一个scrapy脚本,它可以在craigslist/sof.com上浏览并获得所有的职位和URL。我想进入每个网址,并保存每个工作的电子邮件和说明。这是我的密码: from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor from scrapy.spider import BaseSpider fro

我正在使用scrapy来废弃craigslist并获取所有链接,转到该链接,存储每个页面的描述和回复电子邮件。现在,我已经写了一个scrapy脚本,它可以在craigslist/sof.com上浏览并获得所有的职位和URL。我想进入每个网址,并保存每个工作的电子邮件和说明。这是我的密码:

from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from craigslist.items import CraigslistItem

class MySpider(BaseSpider):
    name = "craig"
    allowed_domains = ["craigslist.org"]
    start_urls = ["http://sfbay.craigslist.org/npo/"]
    def parse(self, response):
        hxs = HtmlXPathSelector(response)
        titles = hxs.select("//span[@class='pl']")
        for titles in titles:
                title = titles.select("a/text()").extract()
                link = titles.select("a/@href").extract()
                desc = titles.select("a/replylink").extract
                print link, title

有没有办法做到这一点?

刮片函数应该产生(或返回)和

返回的项目将根据配置而定,下一步是通过返回一个请求并引用回调字段中的函数来确定的

从零碎的文档中:

def parse_page1(self, response):
    return Request("http://www.example.com/some_page.html",
                      callback=self.parse_page2)

def parse_page2(self, response):
    # this would log http://www.example.com/some_page.html
    self.log("Visited %s" % response.url)

根据他们的政策,抓取craigslist是非法的:

禁止使用机器人、蜘蛛、脚本、刮刀、爬虫等

资料来源:


现在他们的API是另一个问题,但它每小时才更新一次(因此有一个1小时的延迟时间)。

具体怎么做?你的代码有问题吗?还是你需要更多的代码?我需要更多的代码。这个代码很好。我希望通过链接递归,然后废弃这些链接的数据。