首页 > 编程语言 >Python3网络爬虫实战之爬虫框

Python3网络爬虫实战之爬虫框

时间:2023-04-10 14:33:29浏览次数:38  
标签:实战 03 07 爬虫 53 Splash 2017 安装 Python3

ScrapySplash的安装

ScrapySplash 是一个 Scrapy 中支持 JavaScript 渲染的工具,本节来介绍一下它的安装方式。

ScrapySplash 的安装分为两部分,一个是是 Splash 服务的安装,安装方式是通过 Docker,安装之后会启动一个 Splash 服务,我们可以通过它的接口来实现 JavaScript 页面的加载。另外一个是 ScrapySplash 的 Python 库的安装,安装之后即可在 Scrapy 中使用 Splash 服务。

1. 相关链接

GitHub:https://github.com/scrapy-plu...

PyPi:https://pypi.python.org/pypi/...

使用说明:https://github.com/scrapy-plu...

Splash 官方文档:http://splash.readthedocs.io

2. 安装Splash

ScrapySplash 会使用 Splash 的 HTTP API 进行页面渲染,所以我们需要安装 Splash 来提供渲染服务,安装是通过 Docker 安装,在这之前请确保已经正确安装好了 Docker。

安装命令如下:

docker run -p 8050:8050 scrapinghub/splash

安装完成之后会有类似的输出结果:

2017-07-03 08:53:28+0000 [-] Log opened.
2017-07-03 08:53:28.447291 [-] Splash version: 3.0
2017-07-03 08:53:28.452698 [-] Qt 5.9.1, PyQt 5.9, WebKit 602.1, sip 4.19.3, Twisted 16.1.1, Lua 5.2
2017-07-03 08:53:28.453120 [-] Python 3.5.2 (default, Nov 17 2016, 17:05:23) [GCC 5.4.0 20160609]
2017-07-03 08:53:28.453676 [-] Open files limit: 1048576
2017-07-03 08:53:28.454258 [-] Can't bump open files limit
2017-07-03 08:53:28.571306 [-] Xvfb is started: ['Xvfb', ':1599197258', '-screen', '0', '1024x768x24', '-nolisten', 'tcp']
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
2017-07-03 08:53:29.041973 [-] proxy profiles support is enabled, proxy profiles path: /etc/splash/proxy-profiles
2017-07-03 08:53:29.315445 [-] verbosity=1
2017-07-03 08:53:29.315629 [-] slots=50
2017-07-03 08:53:29.315712 [-] argument_cache_max_entries=500
2017-07-03 08:53:29.316564 [-] Web UI: enabled, Lua: enabled (sandbox: enabled)
2017-07-03 08:53:29.317614 [-] Site starting on 8050
2017-07-03 08:53:29.317801 [-] Starting factory <twisted.web.server.Site object at 0x7ffaa4a98cf8>

这样就证明 Splash 已经在 8050 端口上运行了。

这时我们打开:http://localhost:8050 即可看到 Splash 的主页,如图所示:

当然 Splash 也可以直接安装在远程服务器上,我们在服务器上运行以守护态运行 Splash 即可,命令如下:

docker run -d -p 8050:8050 scrapinghub/splash

在这里多了一个 -d 参数,它代表将 Docker 容器以守护态运行,这样在中断远程服务器连接后不会终止 Splash 服务的运行。

3. ScrapySplash的安装

成功安装了 Splash 之后,我们接下来再来安装一下其 Python 库,安装命令如下:

pip3 install scrapy-splash

命令运行完毕后就会成功安装好此库,后文我们会介绍它的详细用法。

ScrapyRedis的安装

ScrapyRedis 是 Scrapy 分布式的扩展模块,有了它我们可以方便地实现 Scrapy 分布式爬虫的搭建,本节来介绍一下 ScrapyRedis 的安装方式。

1. 相关链接

GitHub:Build software better, together...

PyPi:https://pypi.python.org/pypi/...

官方文档:http://scrapy-redis.readthedo...

2. Pip安装

推荐使用 Pip 安装,命令如下:

pip3 install scrapy-redis

3. 测试安装

安装完成之后,可以在 Python 命令行下测试。

$ python3
>>> import scrapy_redis

如果没有错误报出,则证明库已经安装好了。

标签:实战,03,07,爬虫,53,Splash,2017,安装,Python3
From: https://www.cnblogs.com/q-q56731526/p/17302832.html

相关文章

  • 关于Python爬虫的一些总结
    作为一名资深的爬虫工程师来说,把别人公开的一些合法数据通过爬虫手段实现汇总收集是一件很有成就的事情,其实这只是一种技术。初始爬虫问题:什么是爬虫?网络爬虫是一种按照一定的规则,自动地抓取网络信息的程序或者脚本。爬虫有什么用?①网络数据采集②大数据分析③网页分析......
  • (之前的项目复习)我的Java项目实战--校园餐饮商户外卖系统02
    开发笔记二1.完善登录功能问题分析前面我们已经完成了后台系统的员工登录功能开发,但是还存在一个问题:用户如果不登录,直接访问系统首页面,照样可以正常访问。这种设计并不合理,我们希望看到的效果应该是,只有登录成功后才可以访问系统中的页面,如果没有登录则跳转到登录页面。那......
  • python网络爬虫
    一、爬虫的基本思路打开网页:requests/urllib找到需要的信息:标签/xpath/jsonpath/...获取和存储信息:json文档二、网页的分类1.静态网页源代码中包含需要的信息国务院办公厅关于印发"十四五"国民健康规划的通知爬取方式:直接从源代码中提取需要的信息2.动态网......
  • 5 分钟带你小程序入门 [实战总结分享]
    微信小程序常常用4种文件类型JS文件JS在小程序中用于编写页面逻辑和交互效果,可调用API接口完成数据请求和处理,也可以使用第三方库和框架。模块化编程:小程序中JS文件可以使用ES6的模块化语法,通过export和import来导出和导入模块。引用其他JS文件:小程序中的JS文件可以......
  • python3中Requests将verify设置为False后,取消警告的方式
    importrequestsresp=requests.get('https://www.***.com',verify=False)调用成功但是会有如下警告信息:InsecureRequestWarning:UnverifiedHTTPSrequestisbeingmadetohost'www.jhnews.com.cn'.Addingcertificateverificationisstronglyadvised.Se......
  • [MAUI 项目实战] 手势控制音乐播放器(一): 概述与架构
    这是一篇系列博文。请关注我,学习更多.NETMAUI开发知识![MAUI项目实战]手势控制音乐播放器(一):概述与架构[MAUI项目实战]手势控制音乐播放器(二):手势交互[MAUI项目实战]手势控制音乐播放器(三):动画[MAUI项目实战]手势控制音乐播放器(四):圆形进度条在之前的博文中提到这个......
  • 爬虫最后一天,爬取到的数据存到mysql中,爬虫和下载中间件、加代理、cookie、header、se
    爬到的数据存到mysql中classFirstscrapyMySqlPipeline:defopen_spider(self,spider):print('我开了')self.conn=pymysql.connect(user='root',password="",host='127.0.0.1......
  • 14.6二叉树的层序遍历实战
    function.h////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datastru......
  • 二叉树前序中序后序遍历实战
    function函数////Createdby93757on2023/3/21.//#ifndefINC_1_TREE_FUNCTION_H#defineINC_1_TREE_FUNCTION_H#include<stdio.h>#include<stdlib.h>typedefcharBiElemType;typedefstructBiTNode{BiElemTypec;//c就是书籍上的datastru......
  • 深度学习之PyTorch实战(5)——对CrossEntropyLoss损失函数的理解与学习
     其实这个笔记起源于一个报错,报错内容也很简单,希望传入一个三维的tensor,但是得到了一个四维。RuntimeError:onlybatchesofspatialtargetssupported(3Dtensors)butgottargetsofdimension:4查看代码报错点,是出现在pytorch计算交叉熵损失的代码。其实在......