用刮擦链接

2024-10-02 02:33:04 发布

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

我想去浏览一个瑞典的房地产网站www.booli.se. 然而,我不知道如何跟踪每个房子的链接,例如价格,房间,年龄等。我只知道如何刮一页,我似乎不能把我的头围绕这。我想做些类似的事情:

for link in website:
    follow link
    attribute1 = item.css('cssobject::text').extract()[1]
    attribute2 = item.ss('cssobject::text').extract()[2]
    yield{'Attribute 1': attribute1, 'Attribute 2': attribute2}

这样我就可以刮取数据并将其输出到excel文件中。我的代码是在没有以下链接的情况下抓取一个简单的页面:

^{pr2}$

感谢你的帮助。真的很难把它们放在一起,并将特定的链接内容输出到一个有凝聚力的输出文件(excel)。在


Tags: 文件text网站链接wwwlinkextractattribute
1条回答
网友
1楼 · 发布于 2024-10-02 02:33:04

您可以使用scrapy的CrawlSpider来跟踪和抓取链接

您的代码应该如下所示:

import scrapy
from scrapy.linkextractors import LinkExtractor
from scrapy.spider import CrawlSpider, Rule


class BooliItem(scrapy.Item):
    size = scrapy.Field()
    price = scrapy.Field()
    m2price = scrapy.Field()


class BooliSpider(CrawlSpider):
    name = "boolidata"
    start_urls = [
        'https://www.booli.se/slutpriser/lund/116978/',
    ]

    rules = [
        Rule(
            LinkExtractor(
                allow=(r'listing url pattern here to follow'),
                deny=(r'other url patterns to deny'),
            ),
            callback='parse_item',
            follow=True,
        ),
    ]

    def parse_item(self, response):
        item = BooliItem()
        item['size'] = response.css('size selector').extract()
        item['price'] = response.css('price selector').extract()
        item['m2price'] = response.css('m2price selector').extract()

        return item

您可以通过以下方式运行代码:

^{pr2}$

并将csv导入Excel。在

相关问题 更多 >

    热门问题