Scrapyを使用してサイトを反復処理するにはどうすればよいですか? http://www.saylor.org/site/syllabus.php?cid=NUMBER
に一致するすべてのサイトの本文を抽出したいと思います。ここでNUMBERは1〜400ほどです。Python Scrapyでサイト全体を反復する
私はこのクモ書いた:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor
from scrapy.selector import HtmlXPathSelector
from syllabi.items import SyllabiItem
class SyllabiSpider(CrawlSpider):
name = 'saylor'
allowed_domains = ['saylor.org']
start_urls = ['http://www.saylor.org/site/syllabus.php?cid=']
rules = [Rule(SgmlLinkExtractor(allow=['\d+']), 'parse_syllabi')]
def parse_syllabi(self, response):
x = HtmlXPathSelector(response)
syllabi = SyllabiItem()
syllabi['url'] = response.url
syllabi['body'] = x.select("/html/body/text()").extract()
return syllabi
をしかし、それは動作しません。そのstart_urlのリンクを探していることを理解していますが、これは実際にやりたいことではありません。私はサイトを反復したい。理にかなっている?
ありがとうございました。
それは事前に希望するURLのリストを構築することは可能ですか?例。 'url = [" example.com?cid={}".format(x)xの範囲(1、401)に ''?免責事項:私はScrapyを一度も使用していません。 – Kevin