Scrapy를 사용하여 사이트를 반복하는 방법은 무엇입니까? http://www.saylor.org/site/syllabus.php?cid=NUMBER
과 일치하는 모든 사이트의 본문을 추출하고 싶습니다. NUMBER는 1 ~ 400 정도입니다.Python Scrapy로 사이트 반복하기
는 I이 거미 작성했습니다 :
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 목록을 구성 할 수 있습니까? 전의. 'urls = [ "example.com?cid={}".format(x) x 범위의 (1, 401)]'? 면책 조항 : 저는 Scrapy를 사용한 적이 없습니다. – Kevin