随笔分类 - 框架-Scrapy
1
摘要:scrapy中response.body 与 response.text区别 body http响应正文, byte类型 text 文本形式的http正文,str类型,它是response.body经过response.encoding经过解码得到response.text = response.b
阅读全文
摘要:[scrapy] CannotListenError: Couldn’t listen on [Errno 98] Address already in use. python eason 1年前 (2016-08-18) 1538次浏览 0个评论 扫描二维码 问题描述: 在调试spider的时候一
阅读全文
摘要:我们之前的爬虫都是在同一台机器运行的,叫做单机爬虫。scrapy的经典架构图也是描述的单机架构。那么分布式爬虫架构实际上就是:由一台主机维护所有的爬取队列,每台从机的sheduler共享该队列,协同存储与提取。分布式爬虫的多台协作的关键是共享爬取队列。队列用什么维护呢?推荐redis队列redis是
阅读全文
摘要:1,spider打开某网页,获取到一个或者多个request,经由scrapy engine传送给调度器schedulerrequest特别多并且速度特别快会在scheduler形成请求队列queue,由scheduler安排执行2,schelduler会按照一定的次序取出请求,经由引擎, 下载器中
阅读全文
摘要:目前来说,处理js有两种方法: 1,通过第三方工具执行js脚本, selenium,会驱动浏览器把js全部加载出来并返回. 2,手动模拟js的执行 2.1)找到js链接,可以在idle中用print(u'*******')来检测 2.2)模拟js执行,从里面提取数据,一般是返回json格式的数据
阅读全文
摘要:目前来看,需要登陆才能爬取的页面有两种可用方法 方法一:FormRequest 里面传入用户名和密码 方法二:添加cookie
阅读全文
摘要:专注自:http://blog.csdn.net/hjy_six/article/details/6862648
阅读全文
摘要:logging的使用方法 1,简单使用方法 >>> import logging >>> logging.warning('this is a warning') WARNING:root:this is a warning 2,通用的记录日志的方法,可加入日志的级别 >>> import logging >>> logging.log(logging.WARNING,"this is a...
阅读全文
摘要:初始化参数 class scrapy.http.Response( url[, status=200, headers, body, flags ] ) 其他成员 url status headers body request meta flags copy() replace() 子类介绍 class scrapy.http.TextResponse(url...
阅读全文
摘要:scrapy中的request 初始化参数 class scrapy.http.Request( url [ , callback, method='GET', headers, body, cookies, meta, encoding='utf-8', priority=0, don't_filter=False, errback ] ) 1,生成Request的方法 def par...
阅读全文
摘要:scrapy.Spider的属性和方法 属性: name:spider的名称,要求唯一 allowed_domains:允许的域名,限制爬虫的范围 start_urls:初始urls custom_settings:个性化设置,会覆盖全局的设置 crawler:抓取器,spider将绑定到它上面 custom_settings:配置实例,包含工程中所有的配置变量 logger:日志实例,打印调试...
阅读全文
摘要:downloader middleware作用:改写请求,如加入代理,加入头部等;处理异常等。
阅读全文
摘要:logging模块是Python提供的自己的程序日志记录模块。 在大型软件使用过程中,出现的错误有时候很难进行重现,因此需要通过分析日志来确认错误位置,这也是写程序时要使用日志的最重要的原因。 scrapy使用python内置的logging模块记录日志 日志的级别 1. logging.CRITI
阅读全文
摘要:作者:知乎用户链接:https://www.zhihu.com/question/54773510/answer/146971644 meta属性是字典,字典格式即{‘key’:'value'},字典是一种可变容器模型,可存储任意类型对象。 request中meta参数的作用是传递信息给下一个函数,
阅读全文
摘要:当Item在Spider中被收集之后,它将会被传递到Item Pipeline,一些组件会按照一定的顺序执行对Item的处理。 每个item pipeline组件(有时称之为“Item Pipeline”)是实现了简单方法的Python类。他们接收到Item并通过它执行一些行为,同时也决定此Item
阅读全文
摘要:Spiders Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。 对spider来说,爬取的循环类似下文: 以初始的URL初
阅读全文
摘要:# 命令行输入:scrapy shell +链接,会自动请求url,得到的相应默认为response,开启命令行交互模式 scrapy shell http://doc.scrapy.org/en/latest/_static/selectors-sample1.html In [1]: response#response为默认相应 Out[1]: In [2]: response.tex...
阅读全文
摘要:当抓取网页时,常见的任务是从HTML源码中提取数据。现有的一些库可以达到这个目的: BeautifulSoup lxml BeautifulSoup lxml Scrapy 提取数据有自己的一套机制。它们被称作选择器(seletors),因为他们通过特定的 XPath 或者 CSS 表达式来“选择”
阅读全文
摘要:scrapy --help 列出帮助信息以及常用命令scrapy version 列出scrapy版本scrapy version -v 列出详细的scrapy版本以及各组件信息 scrapy startproject projectname 创建项目 cd projectname 切换到项目目录下
阅读全文
摘要:Step 1 •安装Python2.7(32位版本) –https://www.python.org/downloads/release/python-279/ Setp 2 •打开“运行”,输入cmd。执行以下命令,设置环境变量: –C:\Python27\python.exe C:\Python
阅读全文
1