Scrapy

原创 2015年07月08日 08:59:00

实现一个功能很简单的爬虫:目标类似论坛,抓取第一个目录页-》提取所有页面-》找出下一个目录页地址-》提取下一目录页的所有页面;

问题描述

运行的时候发现一个问题,抓取的数量不对。例如第一个目录页有15条,第二个目录页有20条,那么最终应该抓取到35条,但是实际发现最终抓取到的条目是随机的……
试着分开抓,第一次只抓第一个目录页,返回了15条没错;第二次只抓第二个目录页,返回了20条没错;一起抓的时候,返回结果依然随机,25-35之间都有可能。

原因

找了半天发现代码没什么问题,由于之前将log_level设为了“warning”,因此也没有给出什么提示。将其改为默认,发现问题了。
在抓取具体条目时,返回了很多503错误,而scrapy会对每个503错误尝试3次,如果依然出错就直接扔掉这个页面。看了一下scrapy最后的stats,发现503有19个之多……
按此推理,应该是访问太频繁被服务器拒了!

解决办法

首先想的是限制并发数量,在settings.py里修改,加上:

CONCURRENT_REQUESTS = 1

后边的数值是并发限制,发现只有修改为1的时候才能完全不会出错,即使是2都有条目丢失的问题……

Scrapy系列教程(1)------命令行工具

默认的Scrapy项目结构 在开始对命令行工具以及子命令的探索前,让我们首先了解一下Scrapy的项目的目录结构。 虽然可以被修改,但所有的Scrapy项目默认有类似于下边的文件结构: scrap...
  • iloveyin
  • iloveyin
  • 2014年11月20日 10:52
  • 18850

Scrapy爬虫框架教程(三)-- 调试(Debugging)Spiders

摘要: 前言 春节放假在老家没有网,所以最近没有更新。这周加班闲暇抽空赶紧来更新一篇。我们在写爬虫的时候经常需要修改xapth规则来获取所需的数据,而Scrapy的爬虫通常是在命令行中启动的,我们怎么...
  • hzp666
  • hzp666
  • 2017年04月17日 17:16
  • 2531

scrapy-redis介绍(一)

scrapy是python里面一个非常完善的爬虫框架,实现了非常多的功能,比如内存检测,对象引用查看,命令行,shell终端,还有各种中间件和扩展等,相信开发过scrapy的朋友都会觉得这个框架非常的...
  • hjhmpl123
  • hjhmpl123
  • 2016年11月22日 22:11
  • 4484

scrapy 框架爬取QQ新闻

  • 2018年01月12日 10:31
  • 7KB
  • 下载

python爬虫scrapy框架,对于智联招聘职位进行抓取

  • 2017年12月20日 16:07
  • 14KB
  • 下载

amd64-py3.6 安装Scrapy

  • 2017年12月09日 11:08
  • 13.67MB
  • 下载

Scrapy Documentation Release 1.4.0

  • 2017年12月26日 15:25
  • 1.15MB
  • 下载

scrapy_tsss

  • 2017年12月06日 14:12
  • 13.48MB
  • 下载

python的scrapy框架爬取天气预报

  • 2017年12月02日 10:42
  • 23KB
  • 下载

scrapy爬取电影天堂

  • 2017年11月27日 22:12
  • 81KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Scrapy
举报原因:
原因补充:

(最多只允许输入30个字)