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()方法删除节点 能够完成动态生成表格案例 能够使用传统方式和监听方式给元素注册事件 能够说出事件流执行的三个阶段 能够在事件处理函数中获取事件对象 能够使用事件对象取消默认行为 能够使用事件对象阻止事件冒泡 能…

CSS3文本与字体

一、CSS3 换行 1、word-break(规定自动换行的处理方法) word-break: normal / break-all / keep-all;/* normal:使用浏览器默认的换行规则 break-all:允许在单词内换行 keep-all:只能在半角空格或连字符处换行 */ 兼容…

系统带你学习 WebAPIs 第四讲

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

linux chrome 安装过程记录

最近,由于公司需要做爬虫抓取一些新闻,在开发过程中,发现有些网站有一定的反爬措施,通过浏览器访问一切正常,通过其他方式,包括:curl,urlconnection 等,就算加入了cookie…

系统带你学习 WebAPIs 第五讲

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

ajax请求相关问题

Ajax中async:false/true的作用: async. 默认是 true,即为异步方式,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。 async…

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

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

bcp文件, 逗号文件

bcp 实用工具 https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility?viewsql-server-2017 大容量复制程序实用工具 (bcp) 可以在 Microsoft SQL Server 实例和用户指定格式的数据文件间大容量复制数据。 使用 bcp 实用工具可以将大量新行导入 SQL Server 表,或…

远程登录和复制文件

命令: ssh 对应英文: secure shell 使用: ssh [-P] 用户名ip 优点: 加密和压缩,即安全和提高传输速度 注意: 除了windows系统外的系统默认有ssh客户端,直接使用命令便可; windows系统…

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

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

JVM对象已死

(一) 引用计数法 每有一个引用就加1,每失效一个就减1,为0表示可回收;但是此方法无法解决相互引用的情况 (二) 根搜索算法 从一系列的GCRoots对象为起点向下搜索,搜索的路径称为引用链,当一个对象没有任何引…

pcl和opencv多版本共存

pcl和opencv多版本共存 在Ubuntu 16.04系统下安装kinetic版本ROS, 会默认安装opencv 3.3.1和pcl1.7. opencv安装路径/opt/ros/kinetic/ pcl安装路径/usr/ 如果想安装opencv2.4版本,或者安装pcl 1.8版本,那么如何设置安装路径,同时…

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

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

给页面加速,干掉Dom Level 0 Event

现在的web应用越来越复杂,需要响应各种各样的用户触发事件,因而也就不可避免的,需要给我们的html页面上的dom元素增加事件监听函数. 我们知道给dom元素绑定事件监听函数的方法有如下3种: 1 : 页面html: <button onclick”test();”></button>2: 页面html: <bu…

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

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

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

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

有些话别不当回事

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

看完这篇文章保你面试稳操胜券——Vue篇

✨ 进大厂收藏这一系列就够了,全方位搜集总结,为大家归纳出这篇面试宝典,面试途中祝你一臂之力!,共分为四个系列 ✨ 本 篇 为 《 看 完 这 篇 文 章 保 你 面 试 稳 操 胜 券 》 第 一 篇 ( V

梯度下降更新算法

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

MangoFix:iOS热修复另辟蹊径

今天向大家介绍的是iOS热修复的另一解决方案&#xff1a;MangoFix。介绍他的原因是他和传统的iOS热修复使用JavaScript bridge 的方式完全不同&#xff0c;MangoFix是一个语法和OC语法非常类似的DSL&#xff0c;其语言本身的设计目标就是为了解决iOS热修复问题&#xff0c;所以…