pyspider 安装 和 快速开始

 

From:官方文档 --- 快速开始:http://docs.pyspider.org/en/latest/Quickstart/

pyspider github 地址:https://github.com/binux/pyspider

pyspider 官方文档:http://docs.pyspider.org/en/latest/

爬虫框架 pyspider个人总结(详细)熟悉:https://www.jianshu.com/p/39c7371dd6c2

 

 

python3.7+ 与 pyspider 的坑

 

python3.7+ 与 pyspider 的坑:https://zhuanlan.zhihu.com/p/115629460

 

安装 pyspider :pip install pyspider

安装之后先验证是否安装成功,在CMD下输入

pyspider  # 或者 pyspider all,但是后面执行 pyspider all 好像还卡死。。。# 两者是一样的,新的 pyspider框架已经整合了,所以使用 pyspider 就好

执行完报错:

Traceback (most recent call last):File "/ffk_learn/software/Python-3.7.0/ffk_py/bin/pyspider", line 7, in <module>from pyspider.run import mainFile "/ffk_learn/software/Python-3.7.0/ffk_py/lib/python3.7/site-packages/pyspider/run.py", line 231async=True, get_object=False, no_input=False):^
SyntaxError: invalid syntax

因为从 python3.5 开始把 async 和 await 设为关键字了,这里 async 作为参数名与关键字冲突了。

解决方法:将相关脚本里面的 async 换一个名字即可,当然最好还是要 pyspider 的大佬更新下 pyspider 脚本。涉及的脚本文件有以下 3 个:

  • 1 ffk_py/lib/python3.7/site-packages/pyspider/run.py
  • 2 ffk_py/lib/python3.7/site-packages/pyspider/fetcher/tornado_fetcher.py 
  • 3     ffk_py/lib/python3.7/site-packages/pyspider/webui/app.py 

找到对应的 py 文件,将 async 修改为其他名称,

我这里修改为 shark ( 我本机路径:C:\Python38\Lib\site-packages\pyspider )。在以下几个文件中存在:

pyspider ---> run.py
pyspider ---> fetcher ---> tornado_fetcher.py
pyspider ---> webui   ---> app.py

修改时注意:不要全部替换,只替换函数中的参数,和字段部分

修改完后,使用 pyspider 命令,输入 http://localhost:5000 运行出现下面错误

ValueError: Invalid configuration: - Deprecated option 'domaincontroller': use 'http_authenticator

原因是因为 WsgiDAV 发布了版本 pre-release 3.x。

解决方法如下:在安装包中找到 pyspider 的资源包,然后找到 webui 文件里面的 webdav.py 文件打开,

修改第 209 行:

'domaincontroller': NeedAuthController(app),

修改为:

'http_authenticator':{'HTTPAuthenticator':NeedAuthController(app),
},

修改后截图:

如果不想修改源文件,第二种方法:降低版本,因为 3.0 的版本不兼容,所以替换为 2.4.1

pip uninstall wsgidav
pip install wsgidav==2.4.1

这里使用修改源码的方式,修改完,保存,然后再执行 pyspider ,这时会报如下错误:

原因:

  • 1、没有安装 werkzeug
  • 2、werkzeug 的版本为 1.0.0,这个版本中没有 DispatcherMiddleware 方法

解决办法:卸载 werkzeug,重新安装低版本的 werkzeug

# 卸载
python -m pip uninstall werkzeug# 安装指定版本
python -m pip install werkzeug==0.16.0# 0.16 版本不行可以再试 0.15 版本 
# python -m pip install werkzeug==0.15

再次执行 pyspider ( 执行 pyspider all  一直卡到 result_worker starting… ,不知道为啥。网上说如果一直卡在 result_worker starting,可以新打开一个终端(这个终端暂时不关),再次输入pyspider,输入完成后再关闭第一个终端),说明成功了

浏览器访问 http://localhost:5000 就可以打开页面了。

 

 

 

pyspider 介绍

 

 

 

 

快速上手

 

安装之后先验证是否可以正常使用

  1. 打开控制台, cd到你要创建的项目路径

  2. 输入pyspider 或 pyspider all 

  3. 当看到如下信息时说明 pyspider 启动成功

    (base) D:\pyspider_test\test1>pyspider
    c:\users\zh\anaconda3\lib\site-packages\pyspider\libs\utils.py:196: FutureWarning: timeout is not supported on your platform.warnings.warn("timeout is not supported on your platform.", Future
    Warning)
    [I 191030 19:27:06 result_worker:49] result_worker starting...
    [I 191030 19:27:06 processor:211] processor starting...
    [I 191030 19:27:06 tornado_fetcher:638] fetcher starting...
    [I 191030 19:27:06 scheduler:647] scheduler starting...
    [I 191030 19:27:06 scheduler:782] scheduler.xmlrpc listening on 127.
    0.0.1:23333
    [I 191030 19:27:06 scheduler:126] project douban_top250 updated, sta
    tus:TODO, paused:False, 0 tasks
    [I 191030 19:27:06 scheduler:586] in 5m: new:0,success:0,retry:0,fai
    led:0
    [I 191030 19:27:07 app:76] webui running on 0.0.0.0:5000
    phantomjs fetcher running on port 25555
  4. 打开浏览器, 访问 http://localhost:5000/,进入 pyspider 控制台

  5. 点击 Create ,输入 项目名(Project Name )和 要爬取的 目标网站(Start URL(s))

  6. 你将会看到这样一个页面:

     

  7. 代码区没有自动补全功能, 你可以在 pycharm 上写好粘过来,再进行调试,以 www.baidu.com 为例

  8. 调试好之后,回退到主页面,将状态改为 DEBUG 就可以运行爬取工作了

     

  9. 你可以通过把鼠标放到 progress 中的4个进度条上以查看执行状态详情, 当all变成纯绿色, 就代表爬虫执行完毕

  10. 点击 Results, 可以查看你爬取到的内容

 

 

删除项目

 

第一种方法,将目标项目的status改成STOP,然后点击[group],输入delete,如图,

pyspider 会在 24H 后自动删掉这个项目

第二种方法,到你创建项目的文件夹,删除 data 文件夹,就会删除当前文件夹中所有的项目

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【干货】强化学习介绍

作者 | Thomas Simonini编译 | 专知整理 | Yongxi摘要&#xff1a;由于Alpha Go的成功&#xff0c;强化学习始终是人们谈论的焦点。现在Thomas Simonini在国外blog网站上发布了系列强化学习教程&#xff0c;以下是本系列的第一篇&#xff0c;简单介绍了强化学习的基本概念。An …

爬虫教程( 2 ) --- 爬虫框架 Scrapy、Scrapy 实战

From&#xff1a;https://piaosanlang.gitbooks.io/spiders/content/ scrapy-cookbook &#xff1a;https://scrapy-cookbook.readthedocs.io/zh_CN/latest/index.html 1. 爬虫框架 Scrapy 爬虫框架中比较好用的是 Scrapy 和 PySpider。 PySpider 优点&#xff1a;分布式框架&a…

传粉飞行器是拯救传粉昆虫危机的利器还是毁灭者

来源&#xff1a;陈华燕的科学网博客摘要&#xff1a;近年来科学家陆续发现&#xff0c;传粉昆虫正在面临着重重危机&#xff0c;至少在欧洲和北美已发现传粉昆虫的数量正在逐渐下降。近年来科学家陆续发现&#xff0c;传粉昆虫正在面临着重重危机&#xff0c;至少在欧洲和北美…

字符串比较函数实现,超简单的面试题,回过头来发现原来我的c多么的薄弱

今天某个公司面试&#xff0c;尽管报了个测试类的&#xff0c;但是面试依旧不给力&#xff0c;先是写个字符串比较函数&#xff0c;只判断相等和不相等的情况&#xff0c;当时大概这么写的&#xff1a; #include<stdio.h>bool strCompare(char *str1,char *str2){char *s…

思略特报告解读:智能制造企业如何实现数字化?

来源&#xff1a;亿欧智库摘要&#xff1a;全球制造业已经将数字化运营或者工业4.0提上日程&#xff0c;基于此&#xff0c;思略特调研了1100多为企业高管&#xff0c;了解他们对数字化的看法。根据调研&#xff0c;总结了四大业务生态体系&#xff1a;客户解决方案体系、运营体…

爬虫教程( 4 ) --- 分布式爬虫 scrapy-redis、集群

1、分布式爬虫 scrapy - redis scrapy 分布式爬虫 文档&#xff1a;http://doc.scrapy.org/en/master/topics/practices.html#distributed-crawls Scrapy 并没有提供内置的机制支持分布式(多服务器)爬取。不过还是有办法进行分布式爬取&#xff0c; 取决于您要怎么分布了。 …

爬虫教程( 5 ) --- Selenium 与 PhantomJS

1. Selenium 中式读法&#xff1a;【 瑟林捏幕 】 Selenium&#xff08; selenium 中文网&#xff1a;http://www.selenium.org.cn/ &#xff09;是一个强大的网络数据采集工具&#xff0c;最初是为了网站自动化测试而开发的&#xff0c;被用来测试 Web 应用程序在不同的浏览器…

详解深度学习的可解释性研究(上篇)

作者 | 王小贱来源 | BIGSCity知乎专栏摘要&#xff1a;《深度学习的可解释性研究》系列文章希望能用尽可能浅显的语言带领大家了解可解释性的概念与方法&#xff0c;以及关于深度学习可解释性工作的研究成果。本文是该系列的第一部分。01深度学习的可解释性研究&#xff08;一…

Office 安装

Office Tool Plus 官网&#xff1a;https://otp.landian.vip/zh-cn/ &#xff1a;https://zhuanlan.zhihu.com/p/486882686 Office Tool Plus 基于 Office 部署工具 (ODT) 打造&#xff0c;可以很轻松地部署 Office。无论你是个体还是团队&#xff0c;Office Tool Plus 都是您…

前瞻性总结:全球未来十年不可不知的10大趋势

来源&#xff1a;混沌大学摘要&#xff1a;无论你身在何处&#xff0c;真正的大趋势必将把地球上每一个人深卷其中&#xff0c;并重构大至国家、城市&#xff0c;小至企业、消费者之间一系列错综复杂的关系。不管你是处于创业模式&#xff0c;还是在大企业里面工作&#xff0c;…

爬虫教程( 6 ) --- 爬虫 进阶、扩展

1. 前言 1. 先看一个最简单的爬虫。 import requestsurl "http://www.cricode.com" r requests.get(url) print(r.text)2. 一个正常的爬虫程序 上面那个最简单的爬虫&#xff0c;是一个不完整的残疾的爬虫。因为爬虫程序通常需要做的事情如下&#xff1a; 1&…

阿里商业白皮书:每个企业都要变成一个数据公司

来源&#xff1a;悟空智能科技摘要&#xff1a;通过近百页的阐述&#xff0c;该报告全面而详实地介绍了阿里巴巴云零售服务生态系统的最新进展情况。通过近百页的阐述&#xff0c;该报告全面而详实地介绍了阿里巴巴云零售服务生态系统的最新进展情况。尤其是&#xff0c;通过数…

NLP通用模型诞生?一个模型搞定十大自然语言常见任务

翻译 | 于之涵编辑 | Leo出品 | AI科技大本营 &#xff08;公众号ID&#xff1a;rgznai100&#xff09;然而近日&#xff0c;Salesforce发布了一项新的研究成果&#xff1a;decaNLP——一个可以同时处理机器翻译、问答、摘要、文本分类、情感分析等十项自然语言任务的通用模型。…

爬虫教程( 3 ) --- 手机 APP 数据抓取

1. Fiddler 设置 这是使用 fiddler 进行手机 app 的抓包&#xff0c;也可以使用 Charles&#xff0c;burpSuite 等。。。 电脑安装 Fiddler&#xff0c;手机 和 安装 fiddler 的电脑处于同一个网络里&#xff0c; 否则手机不能把 HTTP 发送到 Fiddler 的机器上来。配置 Fiddle…

从互联网大脑模型看腾讯与今日头条之争

作者&#xff1a;刘锋 互联网进化论作者 计算机博士前言&#xff1a;通过互联网的大脑模型&#xff0c;分析腾讯与今日头条出现激烈竞争的背后原因&#xff0c;同时得出结论&#xff0c;从未来产业发展趋势看&#xff0c;这种竞争对于两家有可能是好的状况而非坏事。2018年以来…

爬虫教程( 1 ) --- 初级、基础、实践

爬虫教程&#xff1a;https://piaosanlang.gitbooks.io/spiders/content/ 如何入门 Python 爬虫&#xff1a;https://zhuanlan.zhihu.com/p/21479334 静觅 崔庆才的个人博客 Python 爬虫系列&#xff1a;http://cuiqingcai.com/category/technique/python http://www.cnblog…

概念炒作的背后,“智能合约”的真相是什么?

来源&#xff1a;36Kr就像“区块链”&#xff0c;“AI”和“云”一样&#xff0c;“智能合约”也是如今收到热捧的新概念。试想一下&#xff0c;有什么能比相确信合约在未来会按照约定被执行而不需要任何司法介入更好&#xff1f; 智能合约的承诺包括&#xff1a;合约可以被自动…

Dota 2被攻陷!OpenAI 人工智能5V5模式击败人类玩家(4000分水平)

来源&#xff1a;机器之心摘要&#xff1a;我们团队构建的模型&#xff0c;OpenAI Five&#xff0c;已经击败业余 Dota2 团队了。虽然如今是在有限制的情况下&#xff0c;但我们计划到 8 月份在有限英雄池下击败 TI 赛中的一支顶级专业队伍。我们团队构建的模型&#xff0c;Ope…

使用 mitmproxy + python 做拦截代理

From&#xff1a;https://blog.wolfogre.com/posts/usage-of-mitmproxy https://www.cnblogs.com/H4ck3R-XiX/p/12624072.html http://www.cnblogs.com/grandlulu/p/9525417.html mitmProxy 介绍&#xff1a;https://blog.csdn.net/h416756139/article/details…

ZeroMQ全面介绍

★ZMQ是啥玩意儿&#xff1f;   通俗地说&#xff0c;ZMQ是一个开源的、跨语言的、非常简洁的、非常高性能、非常灵活的网络通讯库。它的官方网站在"这里"&#xff0c;维基百科的介绍在"这里"&#xff08;暂时没有中文的维基词条&#xff09;。这玩意儿推…