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.pswp.cn/news/248605.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248605.shtml
英文地址,請注明出處:http://en.pswp.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;所以…