您好,匿名用户

scrapy 无法爬取下一层的页面

0 投票
我想写了一个爬虫,基于scrapy框架,我的目的是爬取一个类似于论坛的东西:
第一层页面是一个分页的列表,其url为:
http://www.example.com/group/p1/
http://www.example.com/group/p2/
.
.
.
http://www.example.com/group/pn/
通过第一层页面的列表链接至第二层页面,其url为:
http://www.example.com/group/view/1
htpp://www.example.com/group/view/2
.
.
.
http://www.example.com/group/view/999...


我的爬虫代码如下:

`

import scrapy
from scrapy.spiders.crawl import CrawlSpider
from scrapy.linkextractors.lxmlhtml import LxmlLinkExtractor
from scrapy.spiders.crawl import Rule
from urlparse import urljoin
class MyCrawler(CrawlSpider):
    name = "MyCrawler"
    start_urls=[
        "http://www.example.com/group/"
    ]
    rules = [
        Rule(LxmlLinkExtractor(allow=(),
                               restrict_xpaths=(["//div[@class='multi-
                               page']/a[@class='aNxt']"])),
                               callback='parse_list_page',
                               follow=True)
    ]
    def parse(self, response):

        list_page=response.xpath("//div[@class='li-itemmod']/div/h3/a/@href").extract()
        for item in list_page:
            yield scrapy.http.Request(self,url=urljoin(response.url,item),callback=self.parse_detail_page)

    def parse_detail_page(self,response):
        community_name=response.xpath("//dl[@class='comm-l-detail float-l']/dd")[0].extract()

        self.log(community_name,2)

`

我现在的问题是:parse_detail_page好像总是得不到执行,是什么原因,如果是我的思路有问题,向这样的需求应该如何写,我想这是个普遍的需求?
谢谢各位。
用户头像 提问 2017年 4月6日 @ Jax 中士 (1,229 威望)
分享到:

你的回答

隐私保护: 您的邮箱仅用于发送系统通知。
请输入验证码:
    图片验证码看不清?
登录注册后不会被要求输入验证码。

提一个问题:

相关问题

0 投票
1 回复 2 阅读
0 投票
1 回复 2 阅读
0 投票
0 回复 79 阅读
用户头像 提问 2017年 6月7日 @ 狐狸叫 下士 (736 威望)
0 投票
1 回复 179 阅读
0 投票
1 回复 1,381 阅读
用户头像 提问 2012年 12月1日 @ Katarina 中士 (1,186 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...