访问网页上的上一个和下一个箭头

2024-04-19 04:39:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我用刮刮刮以下网站的帖子。我已经写了代码,将给我的最大\u id或最新的邮政编码。例如,对于http://papa-gen.livejournal.com/:如果理论上我有max\u id,我将能够通过max\u id创建For循环1,并且我应该能够刮取所有的文章。你知道吗

问题是没有最大id那么多的帖子。例如,上面网站的最大id是12月17日的帖子的2870789,但是12月16日的帖子的编号是2870614,相差175。如果我遍历所有的2870789,我将到达每个帖子,但是代码当然不是很有效。我的想法是以这种方式使用python代码和循环访问网站上的previous和forward按钮。你知道吗

有人能解释一下我是如何用Scrapy来完成这个任务的吗?你知道吗


Tags: 代码comidhttpfor网站文章理论
1条回答
网友
1楼 · 发布于 2024-04-19 04:39:52

斯拉皮有extensive documentation。有an example使用CrawlSpider类来完成您所描述的内容,您可以对其进行修改,使其看起来像这样。。。你知道吗

class MySpider(CrawlSpider):
    name = 'livejournal.com'
    allowed_domains = ['livejournal.com']
    start_urls = ['http://www.papa-gen.livejournal.com']

    rules = (
        Rule(SgmlLinkExtractor(allow=('skip=', )), callback='parse_item'),
    )

    def parse_item(self, response):
        # here is where the parsing happens
        pass

基本思想是指定与链接匹配的规则。使用Scrapy将它们添加到要访问的url列表中,然后在获取url时使用页面数据调用callback函数。你知道吗

相关问题 更多 >