我是Scrapy的新手。在这里我的蜘蛛爬行twistedweb。
class TwistedWebSpider(BaseSpider):
name = "twistedweb3"
allowed_domains = ["twistedmatrix.com"]
start_urls = [
"http://twistedmatrix.com/documents/current/web/howto/",
]
rules = (
Rule(SgmlLinkExtractor(),
'parse',
follow=True,
),
)
def parse(self, response):
print response.url
filename = response.url.split("/")[-1]
filename = filename or "index.html"
open(filename, 'wb').write(response.body)
当我运行scrapy-ctl.py crawl twistedweb3
时,它仅获取。
获取index.html
内容,我尝试使用SgmlLinkExtractor
,它会按照我的预期提取链接,但无法遵循这些链接。
你能告诉我我哪里出错吗?
假设我想获取css,javascript文件。我该如何实现这一目标?我的意思是获得完整的网站?
答案 0 :(得分:4)
rules
属性属于CrawlSpider
。使用class MySpider(CrawlSpider)
。
此外,当您使用CrawlSpider
时,您不得覆盖parse
方法,
而是使用parse_response
或其他类似名称。