我对scrapy非常陌生。我需要从网址的主页跟踪href到多个深度。再次在href链接里面我有多个href。我需要关注这些href,直到我到达我想要的页面去刮。 我页面的示例html是:
初始页
<div class="page-categories">
<a class="menu" href="/abc.html">
<a class="menu" href="/def.html">
</div>
内部abc.html
<div class="cell category" >
<div class="cell-text category">
<p class="t">
<a id="cat-24887" href="fgh.html"/>
</p>
</div>
我需要从 fgh.html 页面中删除内容。 有人可以建议我从哪里开始。我读到了Linkextractors,但找不到合适的参考资料。三江源
答案 0 :(得分:2)
从我看来,我可以这样说:
.kat
id_
后跟一组数字让我们使用此信息来定义我们的蜘蛛rules
:
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractor
class CodeCheckspider(CrawlSpider):
name = "code_check"
allowed_domains = ["www.codecheck.info"]
start_urls = ['http://www.codecheck.info/']
rules = [
Rule(LinkExtractor(allow=r'\.kat$'), follow=True),
Rule(LinkExtractor(allow=r'/id_\d+/'), callback='parse_product'),
]
def parse_product(self, response):
title = response.xpath('//title/text()').extract()[0]
print title
换句话说,我们要求蜘蛛关注每个类别链接,并在抓取包含id_
的链接时让我们知道 - 这对我们来说意味着我们找到了一个产品 - 在这种情况下,对于举个例子,我在控制台上打印页面标题。这应该给你一个很好的起点。