[英]Scrapy recursively scraping craigslist
我正在使用scrapy来废弃craigslist并获取所有链接,转到该链接,存储每个页面的描述并通过电子邮件进行回复。 现在我写了一个scrapy脚本,通过craigslist / sof.com获取并获取所有职位和网址。 我想进入每个网址并保存每个作业的电子邮件和说明。 继承我的代码:
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
任何想法如何做到这一点?
scrapy函数应该产生(或返回) Item / s和Request / s
返回的项目将根据配置进行流水线操作 ,下一个蜘蛛步骤是通过返回一个请求,并在回调字段中引用该函数来确定
来自scrapy文档:
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是非法的:
禁止机器人,蜘蛛,脚本,刮刀,履带等
来源: https : //www.craigslist.org/about/terms.of.use
现在他们的API是另一个问题,但是每小时才会更新(所以有一个小时的滞后时间)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.