Ubuntu20.04 使用scrapy-splash爬取动态网页
我们要先安装splash服务,使用dock安装,如果dock没有安装,请参考我的上一篇博文:
按照官方文档:https://splash.readthedocs.io/en/stable/install.html
1.下载splash
sudo docker pull scrapinghub/splash
2.安装scrapy,它是python的包,我们用包管理器安装:
pip3 install scrapy
3.创建scrapy项目,神似与django
scrapy startproject baiduSpider
其中报错了
cannot import name 'PseudoElement' from 'cssselect.parser'
是因为版本不兼容的原因,直接用下面的命令升级到新版尝试解决
pip3 install --upgrade cssselect
最后,尝试成功,解决了依赖。
4.按照scrapy-splash模块,按照官方文档安装:
https://pypi.org/project/scrapy-splash/
pip3 install scrapy-splash
在这里,我指定了pip3,怕弄混淆。
5.后台运行Splash服务
docker run -d -p 8050:8050 scrapinghub/splash
因为用到是8050端口,可以使用如下程序,查到进程
sudo lsof -i :8050
再用kill,结束进程用来释放端口。
若要重新用docker在8050端口启动进程,请重启docker服务,来更新状态。
systemctl restart docker
6.如果你要远程访问splash服务,使用命令
docker run -d -p 0.0.0.0:yyyy:8050 scrapinghub/splash
其中,yyyy代表端口号。重要的两点切记
6.1ufw暴露该端口
6.2. 如果是云服务器,很多厂商会设置安全组,请前往服务器控制中心,暴露yyyy端口
6.3 8050是splash服务默认窗口,更改的办法应该是进入docker容器内部,改动配置文件才可以变更。所以在指定端口时候不要动8050,答应我好吗?就因为这个,我查了一天的问题,一天啊整整一天!!!!!!!!!!!!!!!!!!!!!!这个问题对世界基本毫无意义,但是请相信它对我太有意义了,虽然我改正之后正确的访问了splash服务,没改变什么,但是我好开心!!!再说一遍,我好开心。
7.反思:
命令的每个参数最好都搞清楚意义
8.因为splash其实是一个scrapy框架的插件scrapy-splah要用的服务,因此,我们要学习三个东西,包括splash的使用、scrapy的使用、以及用python操纵splash的插件scrapy-splash的使用。
splash的学习
占坑
scrapy的学习
老办法,我们从官方文档开始。
https://doc.scrapy.org/en/latest/intro/tutorial.html
占坑
scrapy-splash具体爬取动态网页,见另一篇博文
占坑
相关文章:
Ubuntu20.04 使用scrapy-splash爬取动态网页
我们要先安装splash服务,使用dock安装,如果dock没有安装,请参考我的上一篇博文: 按照官方文档:https://splash.readthedocs.io/en/stable/install.html 1.下载splash sudo docker pull scrapinghub/splash2.安装scrapy…...
Function:控制继电器上下电,上电后adb登录,copy配置文件
import serial import time import datetime import subprocess import osdef append_to_txt(file_path, content):if os.path.exists(file_path):with open(file_path, a) as file: # 使用 a 模式打开文件进行追加file.write(content \n) # 追加内容,并换行else…...
香港电讯高可用网络助力企业变革金融计算
客户背景 客户是一家金融行业知名的量化私募对冲基金公司,专注于股票、期权、期货、债券等主要投资市场,在量化私募管理深耕多年,目前资管规模已达数百亿级,在国内多个城市均设有办公地点。 客户需求 由于客户业务倚重量化技术…...
LDR6020一拖二快充线:多设备充电新选择
随着科技的快速发展,我们的日常生活中越来越多地依赖于智能设备。然而,每当手机、平板或其他移动设备电量告急时,我们总是需要寻找合适的充电线进行充电。为了解决这一痛点,市场上出现了一款备受瞩目的新产品——LDR6020一拖二快充…...
电脑ffmpeg.dll丢失原因解析,找不到ffmpeg.dll的5种解决方法
在数字化时代,多媒体文件的处理已经成为我们日常生活和工作中不可或缺的一部分。在计算机使用过程中,丢失ffmpeg.dll文件是一个特定但常见的问题,尤其是对于那些经常处理视频编解码任务的用户来说。下面小编讲全面分析ffmpeg.dll丢失原因以及…...
手机网站制作软件是哪些
手机网站制作软件是一种用于设计、开发和创建适用于移动设备的网站的软件工具。随着移动互联网时代的到来,越来越多的用户开始使用手机浏览网页和进行在线交流,因此,手机网站制作软件也逐渐成为了市场上的热门工具。 1. Adobe Dreamweaver&am…...
【Kubernetes项目部署】k8s集群+高可用、负载均衡+防火墙
项目架构图 (1)部署 kubernetes 集群 详见:http://t.csdnimg.cn/RLveS (2) 在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上; Pod使用hostP…...
IPC工业电脑的现状、发展未来与破局策略
文章目录 全球工业电脑市场概况1.1 市场规模与增长1.2 区域分布与主要市场 工业电脑的技术发展与应用2.1 技术趋势与创新2.2 应用领域扩展2.3 工业自动化与智能化 竞争格局与市场参与者3.1 主要企业与市场竞争3.2 国内外竞争对比3.3 市场集中度与竞争策略 未来发展趋势与市场预…...
深入了解Redis的TYPE命令
Redis作为一个高性能的内存数据库,支持多种数据结构。在管理和操作Redis数据库时,了解键对应的数据类型是至关重要的。本文将深入探讨Redis的TYPE命令,它用于返回存储在指定键中的值的数据类型。 什么是TYPE命令? TYPE命令用于查…...
iptables(3)规则管理
简介 上一篇文章中,我们已经介绍了怎样使用iptables命令查看规则,那么这篇文章我们就来介绍一下,怎样管理规则,即对iptables进行”增、删、改”操作。 注意:在进行iptables实验时,请务必在个人的测试机上进行,不要再有任何业务的机器上进行测试。 在进行测试前,为保障…...
关于addEventListener的使用和注意项
一、addEventListener基本理解 addEventListener 是一个 JavaScript DOM 方法,用于向指定元素添加事件监听器。它接受三个参数: 事件类型:一个字符串,表示要监听的事件类型,如 ‘click’、‘mouseover’、‘keydown’…...
分享一下,如何搭建个人网站的步骤
在这段充满探索与创造的奇妙旅途中,我就像一位耐心的建筑师,在数字世界的荒原上精心雕琢,两周的时光缓缓流淌。每天,我与代码共舞,手执HTML、CSS与JavaScript这三大构建魔杖,一砖一瓦地筑起了梦想中的网络城…...
(7)摄像机和云台
文章目录 前言 1 云台 2 带有MAVLink接口的摄像机 3 相机控制和地理标签 4 视频质量差的常见修复方法 5 详细主题 前言 Copter、Plane 和 Rover 最多支持 3 轴云台,包括自动瞄准感兴趣区域(ROI)的相机和自动触发相机快门等先进功能。按…...
MicroBlaze IP核中的外设接口和缓冲器接口介绍
MicroBlaze IP核是Xilinx公司提供的一个嵌入式软核处理器,广泛应用于FPGA设计中。在MicroBlaze IP核中,外设接口和缓冲器接口是处理器与外部设备和内存交互的关键部分。 1 外设接口 MicroBlaze处理器中的AXI4 内存映射外设接口AXI4是一种在Xilinx FPGA设…...
Java数据结构与算法(完全背包)
前言: 完全背包问题是背包问题的一个变种,与0/1背包问题不同,在完全背包问题中,每种物品可以被选取多次。问题描述如下: 给定 n 件物品,每件物品有一个重量 wi和一个价值 vi,以及一个背包,它能…...
git merge(3个模式) 与 git rebase 图文详解区别
目录 1 git merge1.1 模式一:fast-forward(–ff)1.2 模式二:non-Fast-forward(–no-ff)1.3 模式三:fast-forward only(–ff-only) 2 git rebase3 区别 1 git merge git merge有好几种不同的模式 默认情况下你直接使用 git merge 命令&#x…...
Eclipse 工作空间:深入解析与高效使用
Eclipse 工作空间:深入解析与高效使用 Eclipse 是一款广受欢迎的集成开发环境(IDE),它为各种编程语言提供了强大的开发工具。在 Eclipse 中,工作空间(Workspace)是一个核心概念,它代表了一个项目的集合,这些项目共享相同的配置和设置。本文将深入探讨 Eclipse 工作空…...
Aspose将doc,ppt转成pdf
1.需要引入的jar包 链接: https://pan.baidu.com/s/1t3wqq7KrHi50K9KX3-Eb9A?pwdu4se 提取码: u4se <dependency><groupId>com.aspose</groupId><artifactId>aspose-words-jdk16</artifactId><version>15.8.0</version><scop…...
Flutter第十四弹 抽屉菜单效果
目标: 1.怎么构建抽屉菜单效果? 2.抽屉菜单怎么定制? 一、抽屉菜单 侧滑抽屉菜单效果 1.1 抽屉菜单入口 Flutter 的脚手架Scaffold,默认提供了抽屉菜单效果入口。 主页面采用一个简单的页面,侧滑菜单首先使用一个I…...
Docker Nginx
Docker官网 https://www.docker.com/https://www.docker.com/ 删除原先安装的Docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ …...
Python tkinter文件对话框实战:5分钟搞定文件选择与保存功能(附完整代码)
Python tkinter文件对话框实战:5分钟搞定文件选择与保存功能(附完整代码) 在开发桌面应用程序时,文件选择功能几乎是必不可少的。无论是需要用户上传文件、保存处理结果,还是选择工作目录,一个直观的文件对…...
Trae平台实战:我如何教会一个AI智能体应对动态网页和反爬虫?
Trae平台实战:动态网页抓取与反爬策略的智能应对之道 在数据驱动的商业环境中,网页抓取技术已成为企业获取竞争优势的关键能力。然而,随着网站防护技术的升级,传统爬虫在面对动态加载内容和复杂反爬机制时往往力不从心。本文将分享…...
Python 字典遍历全攻略:5 种常用方法 + 性能对比 + 实战优化技巧
在 Python 开发中,字典(dict) 是最常用的数据结构之一,以键值对形式存储数据,具备查询快、易操作的特点。而字典的遍历是日常开发中高频操作 —— 从简单的数据读取,到大规模数据处理、接口返回值解析&…...
OpenRocket:从设计到飞行的全链路火箭仿真实战指南
OpenRocket:从设计到飞行的全链路火箭仿真实战指南 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 火箭爱好者与工程师的终极工具:…...
SEO_快速提升流量的五个SEO关键操作步骤
<h3 id"seoseo">SEO:快速提升流量的五个SEO关键操作步骤</h3> <p>在数字化时代,网站的流量直接影响着企业的市场竞争力。如何让你的网站在搜索引擎上排名靠前,吸引更多的访客,这是每个网站运营者都面临的重要课题…...
Deepfake Offensive Toolkit实战:视频会议系统渗透测试案例
Deepfake Offensive Toolkit实战:视频会议系统渗透测试案例 【免费下载链接】dot The Deepfake Offensive Toolkit 项目地址: https://gitcode.com/gh_mirrors/dot/dot 想要了解如何利用深度伪造技术进行视频会议系统安全测试吗?Deepfake Offensi…...
RPA-Python与pytest-microsoftgraph-python-sdk集成:pytest-microsoftgraph-python-sdk测试自动化
RPA-Python与pytest-microsoftgraph-python-sdk集成:pytest-microsoftgraph-python-sdk测试自动化 【免费下载链接】RPA-Python Python package for doing RPA 项目地址: https://gitcode.com/gh_mirrors/rp/RPA-Python RPA-Python是一款强大的Python RPA工具…...
WSABuilds社区活动:线上线下聚会与开发者大会参与指南
WSABuilds社区活动:线上线下聚会与开发者大会参与指南 【免费下载链接】WSABuilds Run Windows Subsystem For Android on your Windows 10 and Windows 11 PC using prebuilt binaries with Google Play Store (MindTheGapps) and/or Magisk or KernelSU (root sol…...
s2-pro GPU算力适配实战:显存优化部署让语音合成延迟降低40%
s2-pro GPU算力适配实战:显存优化部署让语音合成延迟降低40% 1. 专业语音合成新选择 s2-pro是Fish Audio开源的专业级语音合成模型镜像,它让高质量的文本转语音变得触手可及。与普通语音合成工具不同,s2-pro支持通过参考音频复用音色&#…...
开源工具Cowabunga Lite:iOS设备零门槛个性化方案全解析
开源工具Cowabunga Lite:iOS设备零门槛个性化方案全解析 【免费下载链接】CowabungaLite iOS 15 Customization Toolbox 项目地址: https://gitcode.com/gh_mirrors/co/CowabungaLite 在iOS生态系统中,用户对设备个性化的需求与系统封闭性之间始终…...
