Python爬虫学习笔记1:request、selenium、ChromeDrive、GeckoDriver等相关依赖安装

系列学习笔记参考:python3网络爬虫开发实战

requests

# pip install requests
import requests

selenium

Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等 操作 。 对于一些 JavaScript谊染的页面来说,这种抓取方式非常有效.

# pip install selenium
import selenium

ChromDriver

点击 Chrome菜单“帮助”→“关于 GoogleChrome”,即可查看 Chrome 的版本号.

在网站:http://chromedriver.chromium.org/downloads下载对应版本的文件,下载后解压文件到/usr/bin 里面

解决方法参考:https://www.cnblogs.com/silentdoer/p/8946946.html,感觉挺靠谱,不过我本机上没成功,没敢在捣鼓

尝试其他方式:

将当前可执行文件放在/usr/local/chromedriver 目录下(没有就自己新建一个),接下来可以修改~/.profile文件, 

export PATH=” $PATH:/usr/local/chromedriver" 保存后执行如下命令:

source ~/. profile 

报错:

解决参考:https://stackoverflow.com/questions/40157445/mac-terminal-error-bash-users-tim-profile-no-such-file-or-directory

touch ~/.profile

 配置完成后,就可以在命令行下直接执行 chromedriver命令了:

chromedriver 

在python编辑器上执行

from selenium import webdriver
browser = webdriver.Chrome() 

闪退,报错,提示版本对不上(之前装过73版本的,在/usr/bin路径上),需要把该路径上的文件删除了。

解决方法,修改/usr/bin 下面的权限,参考:https://www.jianshu.com/p/c658973eb122,修改后重启,记得修改回来,修改回来脚本:csrutil enable

替换掉旧的就可以了

 

GeckoDriver 

Firefox来说, 也可以使用同样的方式完成 Selenium的对接,这时需要安装另一个驱动GeckoDriver

下载地址:https://github.com/mozilla/geckodriver/releases

步骤和上面一样,也是修改/usr/bin 的权限

from selenium import webdriver
brower = webdriver.Firefox()

 

PhantomJS

PhantomJS是一个无界面的、可脚本编程的 WebKit浏览器引擎,它原生支持多种 Web标准: DOM操作、 css选择器、 JSON、 Canvas以及 SVG。

Selenium支持 PhantomJS,这样在运行的时候就不会再弹出 一个浏览器了

不过鉴于目前selenium不在支持PhantomJS,这里不在进行安装。

相关新闻查看:http://www.sohu.com/a/224999034_100122143

 

 pyquery

pyquery同样是一个强大的网页解析工具,它提供了和jQuery类似的语法来解析HTML文梢, 支 持 css选择器。

pip install pyquery

 

tesserocr

在 Mac下,我们首先使用 Homebrew安装 ImageMagick和 tesseract库 :

brew install imagemagick
brew install tesseract --all-languages

接下来再安装 tesserocr即可: pip3 install tesserocr pillow

这样我们便完成了 tesserocr的安装

在用homebrew 安装的时候如果遇到update brew,解决方式参考:https://learnku.com/articles/18908

安装好后,试验下下面的图片,图片地址:

https://raw.githubusercontent.com/Python3WebSpider/TestTess/master/image.png

到图片路径下面,执行:

tesseract image.png result -l eng && cat result.txt 

结果:

 

 

嗷嗷

 

 

转载于:https://www.cnblogs.com/zheng1076/p/11121561.html

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

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

相关文章

系统带你学习 WebAPIs 第三讲

Web APIs 本篇学习目标: 能够使用removeChild()方法删除节点 能够完成动态生成表格案例 能够使用传统方式和监听方式给元素注册事件 能够说出事件流执行的三个阶段 能够在事件处理函数中获取事件对象 能够使用事件对象取消默认行为 能够使用事件对象阻止事件冒泡 能…

系统带你学习 WebAPIs 第四讲

Web APIs 本篇学习目标: 能够说出常用的3-5个键盘事件 能够知道如何获取当前键盘按下的是哪个键 能够知道浏览器的顶级对象window 能够使用window.onload事件 能够使用window.onresize事件 能够说出两种定时器的区别 能够使用location对象的href属性完成页面之间的跳…

系统带你学习 WebAPIs 第五讲

Web APIs 本篇学习目标: 能够说出常见 offset 系列属性的作用 能够说出常见 client 系列属性的作用 能够说出常见 scroll 系列属性的作用 能够封装简单动画函数 **1.1. **元素偏移量 offset 系列 1.1.1 offset 概述 offset 翻译过来就是偏移量, 我们使用 offset系…

有赞美业微前端的落地总结

2020年4月,有赞美业的前端团队历经7个月时间,完成了美业PC架构从单体SPA到微前端架构的设计、迁移工作。PPT在去年6月份就有了,现在再整理一下形成文章分享给大家。 头图 目录 Part 01 “大话”微前端 微前端是什么 背景 目标 达成价值 …

Markdown 编辑器才是yyds|CSDN编辑器测评

前言 今天小编为大家介绍一款编辑器,也正是小编书写这篇文章所使用的Markdown编辑器,正是广大博友想要发布文章的工具。那么 你知道他的都有哪些方便之处么 下面小编带你了解一下 Markdown是什么 Markdown是一种轻量标记语言,通过简单的语法&#xff…

45天带你玩转Node(第三天)Node环境安装

本篇目标 能够搭建 Node 运行环境掌握 NodeJS 程序的运行方法理解模块化开发理解系统模块和第三方模块理解package.json文件作用 1.Node 开发概述 1.1为什么要学习服务器端开发技术 前端人员为什么要学习服务器端开发技术? 能够和后端程序员更加紧密的配合网站…

系统带你学习 WebAPIs —— 动画篇(第六讲)

Web APIs 本篇学习目标: 能够封装简单动画函数 能够理解缓动动画的封装 能够使用动画函数 能够写出网页轮播图案例 能够写出移动端触屏事件 1.1. 动画函数封装 1.1.1 缓动效果原理 缓动动画就是让元素运动速度有所变化,最常见的是让速度慢慢停下来 思路&#xff…

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!(转载学习)

一:Git是什么? Git是目前世界上最先进的分布式版本控制系统。 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑&#xff0…

有些话别不当回事

1、别跟堕落的人比堕落。堕落起来非常容易,可是堕落后再想回到不堕落,难。不要给自己颓废的机会。 2、不要以为躲在学校里就可以忽略外面世界的残酷现实。竞争越来越激烈:人越来越多,职位却越来越少。学校里固然温柔,但…

梯度下降更新算法

梯度更新是要同时更新,如下图所示:θ0和θ1同时更新,而不是更新完一个后再更新另一个。 学习率α过小,梯度下降较慢,训练时间增长。若学习率α过大,梯度下降会越过最低点,难以得到最优的结果&am…

《深入理解Spark-核心思想与源码分析》(四)第四章存储体系

天行健,君子以自强不息;地势坤,君子以厚德载物。——《易经》 本章导读 Spark的初始化阶段、任务提交阶段、执行阶段,始终离不开存储体系。 Spark为了避免Hadoop读写磁盘的I/O操作成为性能瓶颈,优先将配置信息、计算结…

Django打造大型企业官网-项目部署

Django打造大型企业官网-项目部署 一、准备工作 1、在开发机上的准备工作 1)确认项目没有bug。 2)打开终端,进入虚拟环境,再 cd 到项目根目录下,执行命令:pip freeze > requirements.txt,将…

17 | 如何正确地显示随机消息?

我在上一篇文章,为你讲解完order by语句的几种执行模式后,就想到了之前一个做英语学习App的朋友碰到过的一个性能问题。今天这篇文章,我就从这个性能问题说起,和你说说MySQL中的另外一种排序需求,希望能够加深你对MySQ…

QT+VS中使用qDebbug()打印调试信息无法显示

首先右键点击项目名称,找到最后一项属性 然后依次设置为如图所示即可 再次编译后,会弹出CMD窗口,出现qDebug的调试信息。 转载于:https://www.cnblogs.com/WindSun/p/10328404.html

WebAPIs移动端特效——不看你就亏大了

Web APIs 本篇学习目标: ✨能够写出移动端触屏事件 ✨能够写出常见的移动端特效 ✨能够使用移动端开发插件开发移动端特效 ✨能够使用移动端开发框架开发移动端特效 ✨能够写出 sessionStorage 数据的存储以及获取 ✨能够写出 localStorage 数据的存储以及获取 ✨能够说出它们两…

MVC是一种用于表示层设计的复合设计模式

它们之间的交互有以下几种:1.当用户在视图上做任何需要调用模型的操作时,它的请求将被控制器截获。2.控制器按照自身指定的策略,将用户行为翻译成模型操作,调用模型相应逻辑实现。3.控制器可能会在接到视图操作时,指定…

Centos7.2源码安装redis

1、下载redis包(此处可到官网查看,有相应的命令) wget http://download.redis.io/releases/redis-5.0.3.tar.gz 2、解压之后,并进行make编译 tar xzf redis-5.0.3.tar.gz -C /usr/local/cd /usr/local/redis-5.0.3/make如果出现如…

手撸移动端轮播图(内含源码)

移动轮播图 移动端轮播图与PC段轮播图,在技术选择上是有区别的,因为移动端的浏览器版本非常好,对于H5和CSS3的支持非常完美,所以很多效果可以CSS3的方式实现,比如可以使用 Transorm 属性替代原来的动画函数 可以自动…

原创jquery插件treeTable(转)

由于工作需要,要直观的看到某个业务是由那些子业务引起的异常,所以我需要用树表的方式来展现各个层次的数据。 需求: 1、数据层次分明; 2、数据读取慢、需要动态加载孩子节点; 3、支持默认展开多少层。 在网上找到了很…

初探Vue3

🌜本篇文章目录\textcolor{green}{本篇文章目录}本篇文章目录 🌛 🐵 新构建工具Vite\textcolor{blue}{新构建工具Vite}新构建工具Vite 🐵 CompositionAPI火爆来袭\textcolor{blue}{Composition API火爆来袭}CompositionAPI火爆来…