在敲了几次头之后,我终于来到了这里。
问题:我正在尝试下载每个 craiglist 帖子的内容。我所说的内容是指对手机的描述之类的“发帖主体”。寻找一部新的旧手机,因为 iPhone 已经完成了所有的兴奋。
该代码是Michael Herman的出色作品。
我的蜘蛛班
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import *
from craig.items import CraiglistSampleItem
class MySpider(CrawlSpider):
name = "craigs"
allowed_domains = ["craigslist.org"]
start_urls = ["http://minneapolis.craigslist.org/moa/"]
rules = (Rule (SgmlLinkExtractor(allow=("index\d00\.html", ),restrict_xpaths=('//p[@class="nextpage"]',))
, callback="parse_items", follow= True),
)
def parse_items(self,response):
hxs = HtmlXPathSelector(response)
titles = hxs.select("//span[@class='pl']")
items = []
for titles in titles:
item = CraiglistSampleItem()
item ["title"] = titles.select("a/text()").extract()
item ["link"] = titles.select("a/@href").extract()
items.append(item)
return items
和 Item 类
from scrapy.item import Item, Field
class CraiglistSampleItem(Item):
title = Field()
link = Field()
由于代码将遍历许多链接,因此我想将每部手机的描述保存在单独的 csv 中,但在 csv 中再添加一列也可以。
任何领先!