
scrapy
文章平均质量分 80
彭世瑜
记录我的工作学习笔记
展开
-
Python爬虫:scrapy从项目创建到部署可视化定时任务运行
前面1-3小节就是基本功能实现,完成了scrapy项目的创建和运行功能,能够爬取网络数据了,需要具备一定的Python基础和页面解析的能力中间的4-6小节是部署工作的内容,主要是实现定时任务,自动运行爬虫,可视化查看爬虫运行状态最后的7-9小节是部署优化工作的内容,基本上每个Python web应用甚至其他编程语言实现的Web应用都通用。原创 2022-11-19 17:39:41 · 4265 阅读 · 2 评论 -
数据清洗:使用htmlmin清除html中的空格
安装pip install htmlmin代码实例# -*- coding: utf-8 -*-from htmlmin import minifytext = """<html> <head> <title>这是标题 </title> </head> <body> ...原创 2020-04-03 17:22:34 · 1331 阅读 · 0 评论 -
数据清洗:利用lxml移除html中的元素
有一段html文本<html> <head> <title>这是标题</title> </head> <body> <div>这是内容</div> <div>要移除的内容</div> </bo...原创 2020-04-03 17:13:43 · 2164 阅读 · 0 评论 -
error: scrapy TypeError: 'float' object is not iterable
正常运行爬虫,在公司电脑上没问题,回到家自己电脑上就出现了下面的报错,百思不得解Traceback (most recent call last): File "D:\.virtualenvs\spider\lib\site-packages\twisted\internet\defer.py", line 1384, in _inlineCallbacks result = re...原创 2018-08-26 11:27:25 · 3343 阅读 · 0 评论 -
Python爬虫:scrapy-splash的请求头和代理参数设置
lua中设置代理和请求头:function main(splash, args) -- 设置代理 splash:on_request(function(request) request:set_proxy{ host = &amp;amp;quot;27.0.0.1&amp;amp;quot;, port = 8000, ...原创 2018-08-28 17:13:17 · 10319 阅读 · 13 评论 -
Python爬虫:python2使用scrapy输出unicode乱码
无力吐槽的python2,对中文太不友好了,不过在早期项目中还是需要用到没办法,还是需要解决我编写scrapy爬虫的一般思路:创建spider文件和类编写parse解析函数,抓取测试,将有用信息输出到控制台在数据库中创建数据表编写item编写model编写pipline运行爬虫项目,测试保存的数据正确性在第2步抓取测试的时候,我并没有创建数据库(因为我感觉在数据库中...原创 2018-08-24 15:54:47 · 2301 阅读 · 0 评论 -
XPathHelper使用
使用步骤:1)用chrome打开一个网页2)按Ctrl-Shift键-X以打开XPath辅助控制台。3)按住Shift键鼠标在页面上的元素。查询框会不断更新,以显示鼠标指针下面的元素充分XPath查询。结果框其右侧将显示评价结果的查询。4)如果需要的话,可以直接在控制台编辑XPath查询。在结果框中将立即反映任何变化。5)再次按Ctrl-Shift键-X关闭控制台参考XPath H...原创 2018-09-18 17:29:17 · 3864 阅读 · 1 评论 -
Python爬虫:scrapy辅助功能实用函数
scrapy辅助功能实用函数:get_response: 获得scrapy.HtmlResponse对象, 在不新建scrapy项目工程的情况下,使用scrapy的一些函数做测试extract_links: 解析出所有符合条件的链接代码示例以拉勾首页为例,获取拉勾首页所有职位链接,进一步可以单独解析这些链接,获取职位的详情信息import requestsfrom scra...原创 2018-09-29 16:09:05 · 2043 阅读 · 0 评论 -
Python爬虫:Scrapy的Crawler对象及扩展Extensions和信号Signals
先了解Scrapy中的Crawler对象体系Crawler对象settings crawler的配置管理器set(name, value, priority=‘project’)setdict(values, priority=‘project’)setmodule(module, priority=‘project’)get(name, default=None)getbo...原创 2018-11-13 10:33:00 · 2777 阅读 · 0 评论 -
Python爬虫:Scrapy调试运行单个爬虫
一般运行Scrapy项目的爬虫是在命令行输入指令运行的:$ scrapy crawl spider每次都输入还是比较麻烦的,偶尔还会敲错,毕竟能少动就少动Scrapy提供了一个命令行工具,可以在单个spider文件中加入以下代码:from scrapy import Spider, cmdlineclass SpiderName(Spider): name = "spide...原创 2018-11-08 10:59:20 · 1991 阅读 · 0 评论 -
Python爬虫:Scrapy的get请求和post请求
scrapy 请求继承体系Request |-- FormRequestget请求from scrapy import Spider, Request, cmdlineclass SpiderRequest(Spider): name = &quot;spider_request&quot; def start_requests(self): url = &quot;http...原创 2018-11-08 12:09:19 · 11248 阅读 · 0 评论 -
Python爬虫:Scrapy中间件Middleware和Pipeline
Scrapy提供了可自定义2种中间件,1个数据处理器名称作用用户设置数据收集器(Item-Pipeline)处理item覆盖下载中间件(Downloader-Middleware)处理request/response合并爬虫中间件(Spider-Middleware)处理item/response/request合并解释:用户设置:是指cu...原创 2018-11-12 18:02:16 · 3064 阅读 · 0 评论 -
Python爬虫:Scrapy与__file__引发的异常
报错问题项目代码中使用了__file__, 项目部署之后,想部署单个爬虫,读取spider-list出错查看 https://pypi.org/project/scrapyd-client/#id5作者说,要尽量避免使用__file__删除之后确实正常了。。。...原创 2018-11-14 19:02:36 · 1207 阅读 · 0 评论 -
Scrapyd API 中文翻译版本
原文地址:https://scrapyd.readthedocs.io/en/stable/api.html以下是 Scrapyd 提供的 JSON API.实现了对Scrapy 项目管理# 服务器查询daemonstatus.json 服务器状态# 项目操作addversion.json 添加项目版本(一个项目下可以有多个版本)listprojects.json 项目列表l...原创 2018-11-16 12:41:26 · 2164 阅读 · 0 评论 -
Python爬虫:Scrapy中runspider和crawl的区别
Scrapy中runspider和crawl都可以运行爬虫程序区别:命令说明是否需要项目示例runspider未创建项目的情况下,运行一个编写在Python文件中的spiderno$ scrapy runspider myspider.pycrawl使用spider进行爬取yes$ scrapy crawl myspider参考scrapy ...原创 2019-03-14 11:15:58 · 6612 阅读 · 0 评论 -
Scrapy使用MailSender发送邮件
1、配置邮箱账号 163为例settings.py# 邮箱配置MAIL_HOST = "smtp.163.com"MAIL_FROM = "xxx@163.com"MAIL_USER = "xxx@163.com"MAIL_PASS = "xxx" # 授权码MAIL_PORT = 252、发送邮件的代码# -*- coding: utf-8 -*-import scr...原创 2019-10-08 17:59:25 · 3364 阅读 · 0 评论 -
Python爬虫:scrapy定时运行的脚本
原理:1个进程 -> 多个子进程 -> scrapy进程代码示例将以下代码文件放入scrapy项目中任意位置即可# -*- coding: utf-8 -*-# @File : run_spider.py# @Date : 2018-08-06# @Author : Peng Shiyufrom multiprocessing import...原创 2018-08-08 20:02:01 · 4769 阅读 · 0 评论 -
Python爬虫:scrapy爬虫设置随机访问时间间隔
scrapy中有一个参数:DOWNLOAD_DELAY 或者 download_delay 可以设置下载延时,不过Spider类被初始化的时候就固定了,爬虫运行过程中没发改变,随机延时,可以降低被封ip的风险代码示例random_delay_middleware.py# -*- coding:utf-8 -*-import loggingimport randomimpor...原创 2018-08-08 17:50:40 · 25913 阅读 · 2 评论 -
Python爬虫:scrapy利用splash爬取动态网页
依赖库:pip install scrapy-splash配置settings.py# splash服务器地址SPLASH_URL = 'http://localhost:8050'# 支持cache_args(可选)SPIDER_MIDDLEWARES = { 'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,...原创 2018-08-13 10:44:46 · 4154 阅读 · 0 评论 -
scrapy学习
scrapy学习笔记参考 中文文档:http://scrapy-chs.readthedocs.io/zh_CN/0.24/index.html初步使用高级特性:1.内置的数据抽取器css/xpath/re 2.(scrapy shell)交互式控制台用于调试数据抽取方法 3.内置对结果输出的的支持,可以保存为JSON,CSV,XML等 4.自动处理编码 5.支持...原创 2018-03-28 21:36:24 · 2447 阅读 · 0 评论 -
Python网络爬虫之scrapy框架
Python网络爬虫与信息提取 - 嵩天官网:https://scrapy.org/安装:pip install scrapy检测:scrapy -hscrapy爬虫框架结构爬虫框架 - 爬虫框架 是实现爬虫功能的一个软件结构和功能组件集合 - 爬虫框架 是一个半成品,能够帮助用户实现专业网络爬虫5+2结构 - Scheduler ...原创 2018-03-28 23:38:45 · 5822 阅读 · 0 评论 -
Python爬虫:scrapy爬取腾讯社招职位信息
爬取腾讯社招职位信息地址 https://hr.tencent.com/position.php三个文件代码如下: spdier.py# -*- coding: utf-8 -*-# author : pengshiyu# date : 2-18-4-19import scrapyfrom scrapy.selector import Selectorfrom ten...原创 2018-04-22 18:06:42 · 1589 阅读 · 0 评论 -
Python爬虫:scrapy爬取斗鱼直播图片
通过斗鱼给出的api,获取json文件,解析出图片地址,可以获取直播间的图片 斗鱼api接口:http://open.douyucdn.cn/api/RoomApi/live/{num}比如: http://open.douyucdn.cn/api/RoomApi/live/1当然也可以用这个获取好多妹子的图片,当然也有小哥哥 http://capi.douyucdn.cn/a...原创 2018-04-22 18:13:43 · 2294 阅读 · 0 评论 -
python爬虫:scrapy命令失效,直接运行爬虫
scrapy命令失效,直接运行爬虫,无论是什么命令,都直接运行单个爬虫 出现这个错误,很意外原因是这样的: 一开始,我写了个脚本单独配置爬虫启动项:# begin.pyfrom scrapy import cmdlinecmdline.execute("scrapy crawl myspider")这样一来会比较方便,不用每次都去命令行敲命令然而 当我想运行其他爬虫的时...原创 2018-04-23 10:53:50 · 3827 阅读 · 1 评论 -
python爬虫:scrapy爬取传智播客教师信息
推荐一个Chrome浏览器的xpath解析工具: xPath helper 轻松获取HTML元素的xPath 打开/关闭控制台:Ctrl-Shift键-X 参考:介绍一款chrome爬虫网页解析工具-XPath Helperscrapy基本介绍# 创建工程 scrapy startproject myspider# 创建爬虫 scrapy genspider itcas...原创 2018-04-19 00:15:44 · 2313 阅读 · 2 评论 -
python爬虫:scrapy-redis实现分布式爬虫
环境搭建需要安装 scrapy 和 scrapy-redis安装配置好 redis 如果是mac种用homebrew安装的redis,配置文件路径为:/usr/local/etc/redis.conf第一步,配置settings.py# 指定Redis数据库REDIS_URL = &amp;quot;redis://localhost:6379&amp;quot;# 使用scrapy-redis 的...原创 2018-05-21 15:40:15 · 1828 阅读 · 0 评论 -
python爬虫:scrapy可视化管理工具spiderkeeper部署
需要安装的库比较多,可以按照步骤,参看上图理解环境准备scrapy: https://github.com/scrapy/scrapy scrapyd: https://github.com/scrapy/scrapyd scrapyd-client: https://github.com/scrapy/scrapyd-client SpiderKeeper: https:/...原创 2018-05-22 17:22:37 · 6678 阅读 · 7 评论 -
Python爬虫:关于scrapy模块的请求头
内容简介使用scrapy写爬虫的时候,会莫名其妙的被目标网站拒绝,很大部分是浏览器请求头的原因,现在一起来看看scrapy的请求头工具准备开发环境python2.7 + scrapy 1.1.2 测试请求头网站:https://httpbin.org/get?show_env=1 json在线解析:https://www.json.cn/浏览器请求头大全: http://w...原创 2018-06-22 16:56:02 · 22082 阅读 · 10 评论 -
Python爬虫:scrapy防止爬虫被禁的策略
爬虫策略:1、动态User-Agent(随机切换User-Agent,模拟不同用户的浏览器信息),使用中间件class RandomUserAgentMiddleware(object): def process_request(self, request, spider): request.headers.setdefault('User-Agent', &amp;quot;xxx...原创 2018-06-22 18:20:37 · 4562 阅读 · 0 评论 -
Python爬虫:scrapy查看Cookie值
#请求CookieCookie = response.request.headers.getlist('Cookie')#响应CookieCookie = response.headers.getlist('Set-Cookie') 参考: [Scrapy]模拟登陆并获取Cookie值原创 2018-07-12 17:03:04 · 6632 阅读 · 0 评论 -
Python爬虫:scrapy直接运行爬虫
一般教程中教大在命令行运行爬虫:# 方式一$ scrapy crawl spider_name这样,每次都要切换到命令行,虽然可以按向上键得到上次运行的指令,不过至少还要敲一次运行命令还有一种方式是单独配置一个文件,spider_name是具体爬虫名称,通过pycharm运行设置,不过每次都要改爬虫名称,而且不利于git提交# 方式二from scrapy import c...原创 2018-07-12 19:41:01 · 14563 阅读 · 0 评论 -
Python爬虫:scrapy管理服务器返回的cookie
1、使用cookie settings.py启用COOKIES_ENABLED=True # 启用cookieCOOKIES_DEBUG=True # 显示发送和接受的cookie2、使用自定义cookie 如果要使用登录验证的cookie,那么可以这样for url in self.start_urls: yield scrapy.Request(url, cook...原创 2018-07-24 15:01:04 · 3144 阅读 · 0 评论 -
Python爬虫:scrapy框架请求参数meta、headers、cookies一探究竟
对于scrapy请参数,会经常用到,不过没有深究今天我就来探索下scrapy请求时所携带的3个重要参数headers, cookies, meta原生参数首先新建myscrapy项目,新建my_spider爬虫通过访问:http://httpbin.org/get 来测试请求参数将爬虫运行起来# -*- coding: utf-8 -*-from scrapy impo...原创 2018-07-22 21:47:36 · 10800 阅读 · 1 评论 -
Python爬虫:scrapy中间件及一些参数
scrapy中间件from scrapy.settings import default_settings'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware': 100,'scrapy.downloadermiddlewares.httpauth.HttpAuthMiddleware': 300,'scrapy.do...原创 2018-07-22 22:39:25 · 1936 阅读 · 0 评论 -
Scrapy部署之Scrapyd和Scrapyd-API
一、环境安装安装scprayd,网址:https://github.com/scrapy/scrapydpip install scrapyd安装scrapyd-client,网址:https://github.com/scrapy/scrapyd-clientpip install scrapyd-client启动服务scrapyd环境测试: http://lo...原创 2018-04-07 16:13:35 · 4268 阅读 · 0 评论