我试图在SitemapSpider获取要刮擦的网址数量。 我尝试覆盖start_requests方法,但它显示0。我有一个sitemap_url ,其中包含数千个URL。 我想获得这些网址的数量。

这是我尝试过的方法,但我想来自sitemap的Urls不在start_urls中。

class MainSpider(SitemapSpider):
    name = 'main_spider'
    allowed_domains = ['...']
    sitemap_urls = ['http://.../sitemap.xml']

    def start_requests(self):
        r = super(MainSpider, self).start_requests()
        self.urls_count = len(self.start_urls)
        print self.urls_count 
        return r

你知道怎么弄号码吗?

#1楼 票数:0

您可以在下面使用。

class MainSpider(SitemapSpider):
    name = 'main_spider'
    allowed_domains = ['...']
    sitemap_urls = ['http://.../sitemap.xml']

    def start_requests(self):
        r = super(MainSpider, self).start_requests()
        r_list = list(r)
        print len(r_list)
        return r_list

super(MainSpider, self).start_requests()返回一个生成器,列表将确保您获得完整的收益。 但这会在大型站点地图的情况下减慢您的抓取工具的启动速度。 实际的刮擦可能会延迟一点

  ask by Milano translate from so

未解决问题?本站智能推荐:

2回复

在Costom python脚本中从scrapy抓取网站后,如何获取网址列表?

我正在使用一个脚本,在该脚本中,我需要爬网网站,仅需要爬网base_url站点。 任何人都有一个很好的主意,我如何才能在自定义python脚本中启动Scarpy并在列表中获取URL链接?
1回复

无法追踪Scrapy中的链接

我现在从Scrapy开始,我从体育页面(足球运动员的姓名和球队)中获取了想要的内容,但是我需要点击链接以搜索更多球队,每个球队页面都有一个链接到玩家页面,网站链接的结构为: 团队页面: http : //esporte.uol.com.br/futebol/clubes/vitoria/球
1回复

Scrapy:无法从我的商品数据中删除 unicode(价格)

我正在构建一个抓取工具来从网站获取产品价格。 目前我有以下代码: 这是 json 输出: 我试过 encoding("utf-8")、strip、replaces,但似乎没有任何效果。 我的问题是:如何使输出可读。 要么制作“5.00 €”(\€),要么制作“5.00” 提前致谢!
1回复

Scrapy搜寻器无法搜寻或无法写入CSV文件?

项目: https : //github.com/smalik/resume_scraper 我使用以下命令运行该机器人: 问题是它要么没有正确爬网(0页),要么由于某种原因无法写入csv文件。 错误是否可能是由于模块折旧造成的? 这是运行时的终端输出:
1回复

如何升级scrapy

我正在尝试将scrapy升级到最新版本(1.4),但出现此错误: 为什么呢
1回复

具有长start_urls列表的Scrapy Crawling URL的顺序和来自spider的urls yiels

救命! 阅读Scrapy的源代码对我来说并不容易。 我有一个很长的start_urls列表。 它在文件中约为3,000,000。 所以,我像这样制作start_urls : MeanWhile,我的蜘蛛的回调函数是这样的: 我的问题是: 下载器使用的网址顺序?
1回复

Scrapy有商品限制吗?

在那些日子里,我用Python在Scrapy中制作了Spider。 它基本上是一个简单的Spider类,可以对Html页面中的某些字段进行简单的解析。 我不使用starts_url [] Scrapy字段,但是我使用如下个性化列表: 以这种方式传递网址 在有限数量的网址(例如
1回复

Scrapy导入模块项目错误

我的项目结构: 我在Mac上运行它,并且在以下位置创建了我的项目文件夹: /user/username/kmss 在items.py我确实有一个名为" KmssItem "的类。 如果要运行first.py (我的蜘蛛),则必须导入items.py. ,这是一个较高的级别。