首页 > 其他分享 >pyspider 安装 和 快速开始

pyspider 安装 和 快速开始

时间:2022-10-11 21:02:09浏览次数:68  
标签:27 19 安装 py ffk pyspider 快速 191030

 

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 main
File "/ffk_learn/software/Python-3.7.0/ffk_py/lib/python3.7/site-packages/pyspider/run.py", line 231
async=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 文件打开,

pyspider 安装 和 快速开始_ide

修改第 209 行:

'domaincontroller': NeedAuthController(app),

修改为:

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

修改后截图:

pyspider 安装 和 快速开始_ide_02

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

pip uninstall wsgidav
pip install wsgidav==2.4.1

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

pyspider 安装 和 快速开始_ide_03

原因:

  • 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,输入完成后再关闭第一个终端),说明成功了

pyspider 安装 和 快速开始_tornado_04

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

pyspider 安装 和 快速开始_tornado_05

 

 

 

pyspider 介绍

 

pyspider 安装 和 快速开始_python_06

pyspider 安装 和 快速开始_tornado_07

pyspider 安装 和 快速开始_python_08

 

 

 

快速上手

 

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

  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
  1. 打开浏览器, 访问 http://localhost:5000/,进入 pyspider 控制台
  2. 点击 Create ,输入 项目名(Project Name )和 要爬取的 目标网站(Start URL(s))
  3. 你将会看到这样一个页面:
  4. pyspider 安装 和 快速开始_tornado_09


  5. 代码区没有自动补全功能, 你可以在 pycharm 上写好粘过来,再进行调试,以 www.baidu.com 为例
  6. 调试好之后,回退到主页面,将状态改为​​DEBUG ​​就可以运行爬取工作了
  7. pyspider 安装 和 快速开始_tornado_10


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

 

 

删除项目

 

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

pyspider 安装 和 快速开始_ide_11

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

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

 

 

 

 



标签:27,19,安装,py,ffk,pyspider,快速,191030
From: https://blog.51cto.com/csnd/5747942

相关文章

  • mysql安装以及配置
    mysql安装执行命令aptlist|grep"mysql"查找mysql软件包找到软件包,执行aptinstallmysql-server-8.0/focal-security安装mysql执行mysql进入mysqlType'help;'or......
  • ubuntu 常用软件安装
    更换镜像这里更换阿里的镜像先复制一份源文件cp/etc/apt/sources.list/etc/apt/sources.list.bak然后打开sudovim/etc/apt/sources.list把文件理论里面的东西......
  • VRay 5.2 for Rhino 6-8软件安装包和安装教程
    VRay5.2forRhino6-8软件简介:VRay5.2forRhino6-8是一款专为犀牛软件用户打造的增强渲染器插件,它可以直接被使用于Rhino典型的工作流程中,其中所展现的高效能、高稳定......
  • idea中,解决maven报红、安装idea教程及idea启动慢的解决办法(从maven角度)
    idea中,解决maven报红解决前提首先要检查maven配置是否正确,有私服、阿里公共仓等,默认国外的会很慢maven仓库实际已经下载了全部依赖但idea依然显示找不到依赖解决方法剪切po......
  • Linux下redis集群部署(免安装版本)
    一、redis三台集群服务器上传压缩包链接:​https://pan.baidu.com/s/1EXDEVhaNzMxZmN12GiyKHg​​提取码:bmov二、redis-master部署运行下述命令部署:unzipredis4.0.14.zipus......
  • 快速排序
    首先我们要对一组数据进行排序:在数组中选一个基准数(通常为数组第一个,黄圈圈标记了);将数组中小于基准数的数据移到基准数左边,大于基准数的移到右边,怎么移动,后面说;......
  • Dubbo学习(一)- windows下安装zookeeper
    下载zookeeper下载地址:​​https://www.apache.org/dyn/closer.cgi/zookeeper/​​下载下来zookeeper-3.4.11.tar.gz,解压到当前文件夹修改配置找到zookeeper-3.4.11\conf\zo......
  • ElasticSearch学习 - (一)windows下安装ElasticSearch
    ElasticSearch版本5.6.4要求jdk版本必须为1.8以上1、从官网下载elasticsearch地址:​​https://www.elastic.co/downloads/elasticsearch​​2、解压zip到文件目录3、开启Ela......
  • 在 CentOS 7 系统安装 StoneDB 数据库
    在CentOS7系统安装StoneDB数据库今天我会进行StoneDB数据库在CentOS7系统下的安装。官方的快速部署文档中已有详细的安装流程,我会严格按照流程操作。准备Cen......
  • Chromedriver安装及配置
    下载地址:https://npm.taobao.org/mirrors/chromedriver/fromseleniumimportwebdriverimporttimedefmain():b=webdriver.Chrome()b.get('https://www.baidu.......