本站快讯
  • 未发布任何快讯哟,快去后台快讯发布吧

Pyspider+Python3.6.8 杰奇py采集系列,环境部署教程。

作者 : 蓝大富 发布时间: 2020-02-1 文章热度:457 共4193个字,阅读需11分钟。 字体:
  • 文章介绍
  • 评价建议
  • 我的安装目录(可自行更改自己的目录)
    /www/Tools/Pyspider/Start
    Python项目管理器
    名称:
    Pyspider
    路径:
    /www/Tools/Pyspider/Start
    Python版本:
    python 3.6.8
    框架:
    python
    启动方式:
    自定义
    启动文件/文件夹:
    pyspide
    端口:
    5000
    其他请看视频

    1. source /www/Tools/Pyspider/Start/Pyspider_venv/bin/activate
    2. pip3 install pyspider
    3. pip3 install r requirements.txt
    4. 启动:
    5. pyspider
    6. nss或者openssl错误,请卸载pycurl,根据错误设置后再安装
    7. pip3 uninstall pycurl
    8. nss错误:
    9. export PYCURL_SSL_LIBRARY=nss
    10. pip3 install compile installoption=“–with-nss” nocachedir pycurl
    11. openssl错误:
    12. export PYCURL_SSL_LIBRARY=openssl
    13. pip3 install compile installoption=“–with-openssl” nocachedir pycurl
    14. python3安装pyspider控制台肯定会出错,请卸载控制台重新安装指定版本或者修改代码
    15. 1,卸载重装指定版本:
    16. pip3 uninstall wsgidav
    17. pip3 install wsgidav==2.4.1
    18. 2,修改代码:
    19. # pyspider文件路径 pyspider/webui/webdav.py
    20. # 209行:’domaincontroller’: NeedAuthController(app)
    21. # 修改如下
    22. config = DEFAULT_CONFIG.copy()
    23. config.update({
    24. ‘mount_path’: ‘/dav’,
    25. ‘provider_mapping’: {
    26. ‘/’: ScriptProvider(app)
    27. },
    28. #’domaincontroller’: NeedAuthController(app),
    29. ‘http_authenticator’: {
    30. ‘HTTPAuthenticator’:NeedAuthController(app),
    31. },
    32. ‘verbose’: 1 if app.debug else 0,
    33. ‘dir_browser’: {‘davmount’: False,
    34. ‘enable’: True,
    35. ‘msmount’: False,
    36. ‘response_trailer’: },
    37. })
    38. dav_app = WsgiDAVApp(config)
    39. 然后执行:
    40. python setup.py install
    41. 重新打包程序安装

    请安装phantomjs用于js的支持

    1. 采集时候的JS支持
    2. tar xf phantomjs2.1.1linuxx86_64.tar
    3. mv phantomjs2.1.1linuxx86_64 phantomjs
    4. cp r phantomjs /usr/local/phantomjs
    5. ln sv /usr/local/phantomjs/bin/phantomjs /usr/bin/phantomjs

    配置网站根目录和数据库
    /www/Tools/Pyspider/Start/config.ini
    数据库账号和密码就不展示了:)
    为了安全配置控制台账户和密码
    /www/Tools/Pyspider/Start/config.json
    config.json里面可以设置自定义端口,格式
    "port": "5000"
    改为自定义,记得防火墙开放端口哦
    最后把cms.so和key复制到
    /www/Tools/Pyspider/Start/Pyspider_venv/bin
    目录下,回控制台采集去吧!

    守护进程
    我的设置(可自行更改自己的目录)
    项目名称:
    Pyspider
    运行目录
    /www/Tools/Pyspider/Start
    启动文件
    /www/Tools/Pyspider/Start/Pyspider_venv/bin/pyspider
    启动参数
    -c /www/Tools/Pyspider/Start/config.json
    分类的设置在:

    1. def fiction_classify(self,classify):
    2. 里面
    3. basic = 1,匹配sort.php文件的[‘article’][1]数字,
    4. 每个分类2个数字相同

    如果提示错误:ImportError: libpython3.6m.so.1.0:
    请进虚拟机环境下安装

    1. source /www/Tools/Pyspider/Start/Pyspider_venv/bin/activate
    2. yum install y python3devel.x86_64

    基本介绍

    1. 1.一个项目有5个状态:TODO,STOP,CHECKING,DEBUGRUNNING
    2. TODO 刚创建,正在编写脚本
    3. 如果您希望项目停止(= =),可以将其标记为STOP
    4. CHECKING 当正在运行的项目被修改时,为了防止未完成的修改,项目状态将被设置为自动检查。
    5. DEBUG/RUNNING 这两种状态对爬虫没有区别。但最好在第一次运行时将其标记为DEBUG,然后在检查后将其更改为RUNNING
    6.  
    7. 2.爬行速率由rate burst并采用令牌桶算法进行控制。
    8. rate 一秒钟内有多少请求(即一秒钟爬多少次)
    9. burst (爆发)- 考虑这种情况,RATE/BURST=0.1/3,这意味着蜘蛛每10秒抓取1个页面。所有任务都已完成,Project将每分钟检查最后更新的项目。假设找到3个新项目,pyspider将“爆发”并爬行3个任务,而不等待3*10秒。但是,第四个任务需要等待10
    10.  
    11. 速度控制:rate是每秒爬取页面数 burst是并发数 ,如1/3是三个并发,每秒爬取一个页面。
    12.  
    13. 3.若要删除项目,请将“组”(group)设置为“删除”(delete),将“状态”设置为“停止”,然后等待24小时。

    更多pyspider使用教程请查看技术文档
    https://book.crifan.com/books/python_spider_pyspider/website/
    pyspider介绍

    1. 一、pyspider介绍
    2. 1.基本功能
    3. 提供WebUI可视化功能,方便编写和调试爬虫
    4. 提供爬取进度监控、爬取结果查看、爬虫项目管理
    5. 支持多种数据库,MySQLMongoDBRedisSQLitePostgreSQL
    6. 支持多种消息队列,RabbitMQBeanstalkRedis
    7. 提供优先级控制、失败重试、定时抓取等
    8. 对接了PhantomJS,可实现对JavaScript页面的抓取
    9. 支持单机、分布式、Docker部署
    10.  
    11. 2.pyspider scrapy 对比
    12. pyspider提供WebUIscrapy原生不具备此功能
    13. pyspider调试方便
    14. pyspider支持PhantomJSscrapy支持scrapySplash组件
    15. pyspider内置pyquery作为选择器,scrapy对接了XPathCSS选择器和正则表达式
    16. pyspider扩展程度低
    17.  
    18. 3.框架设计
    19. 三大模块:调度器(Scheduler)、抓取器(Fetcher)、处理器(Processer
    20.  
    21. 4.具体流程
    22. 1.每个pyspider项目都对用一个Python脚本,该脚本定义了一个Handler类,使用on_start()方法,开始项目,然后交由scheduler进行调度处理
    23. 2.Scheduler将抓取任务传给FetcherFetcher响应完成后,将响应传给Processer
    24. 3.Processer处理并提取新的URL再通过消息队列的方式传给Scheduler,如果生成了新的提取结果,则发往结果队列等待Result Worker处理
    25. 4.循环上述过程,直到抓取结束,结束时会调用on_finished()
    26.  
    27. 5.例子
    28. 二、pyspider详解
    29. 1.启动:
    30. pyspider all
    31. 2.crawl()方法
    32. url:爬取的URL,可以定义为单个URL字符串或URL列表
    33. callback:回调函数,指定了该URL对应的响应内容应该由哪个方法来解析
    34. age:任务的有效时间
    35. priority:优先级,默认为0,越大越优先
    36. exetime:可以设置定时任务,其值是时间戳,默认是0,代表立即执行
    37. retries:重试次数,默认是3
    38. itag:设置判定网页是否发生变化的节点值
    39. auto_recrawl:开启后,爬取任务在过期后重新执行
    40. methodHTTP请求方式
    41. params:定义GET请求参数
    42. data:定义POST请求参数
    43. files:上传的文件,需指定文件名
    44. user_agentUserAgent
    45. headersRequest Headers
    46. cookies:Cookies,字典格式
    47. connect_timeout:初始化连接时最长的等待时间,默认是20
    48. timeout:抓取网页的最长等待时间,默认是120
    49. allow_redirects:确定是否自动处理重定向,默认是True
    50. validate_cert:是否验证证书,默认是True
    51. proxy:代理
    52. fetch_type:开启PhantomJS渲染
    53. js_script:页面加载完毕后执行的JavaScript脚本
    54. js_run_at:脚本运行位置,默认在节点结尾
    55. js_viewport_width/js_viewport_heightJavaScript渲染页面的窗口大小
    56. load_images:确定是否加载图片,默认是False
    57. save:在不同的方法之间传递参数
    58. cancel:取消任务
    59. force_update:强制更新状态
    60. 3.任务区分:
    61. 判断是否为同一任务,将比较URLMD5值是否一样
    62. 4.全局配置:
    63. crawl_config中指定全局配置
    64. 5.定时爬取
    65. 通过every属性来设置时间间隔
    66. 6.项目状态:
    67. TODO 刚创建还未执行
    68. STOP 停止
    69. CHECKING 运行的项目被修改后
    70. DEBUG/RUNNNING 运行
    71. PAUSE 多次出错,挂起或暂停
    72. 7.删除项目
    73. 将状态设置为STOP,分组名称修改为delete24小时后自动删除

     

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    ①本站所有CMS、杰奇CMS、杰奇模板、PTCMS428、PTCMS模板、YGBOOK614、YGBOOK模板仅用于学习和交流,勿用于商业。
    ②本站资源有安装及使用文档,安装使用请自行探索,如您对准备购买的程序或是模板无法胜任安装工作,请点击付费安装。
    ③本站资源来源网络或者用户投稿,切勿私自传播于网络,否则将追究法律责任。且仅供学习交流之用,如有侵权请联系删除。
    ④如果资源失效或下载链接错误请联系站长。

    蓝大富博客 » Pyspider+Python3.6.8 杰奇py采集系列,环境部署教程。

    发表评论

    408+

    本站勉强运行

    269+

    用户总数

    170+

    资源总数

    3+

    今日更新

    2020-4-8

    最后更新时间