Python爬蟲(chóng)相關(guān)框架集合

前言

最近做了一個(gè)python自動(dòng)登錄淘寶爬取數(shù)據(jù)的腳本,關(guān)于這個(gè)腳本下篇會(huì)做介紹,在這之間涉及到許多框架,也遇到一些問(wèn)題,所以在此主要做一些總結(jié)以備以后查詢(xún)。

Python安裝

各平臺(tái)安裝Python的方法參考: 安裝python

Python的入門(mén)和語(yǔ)法參考:
Python基礎(chǔ)教程
廖雪峰Python教程

Requests庫(kù)的安裝和使用

在Python爬蟲(chóng)開(kāi)發(fā)中最為常用的庫(kù)就是使用Requests實(shí)現(xiàn)HTTP請(qǐng)求,因?yàn)镽equests實(shí)現(xiàn)HTTP請(qǐng)求簡(jiǎn)單、操作更為人性化。

安裝Requests庫(kù)
pip3 install requests

Requests庫(kù)主要提供以下七種請(qǐng)求方法

Requests庫(kù)的7個(gè)主要方法.png

具體使用參考如下:
快速上手Requests

Scrapy庫(kù)的安裝和使用

scrapy安裝
pip3 install Scrapy

scrapy的具體使用參考中文官網(wǎng)如下:
scrapy快速入門(mén)

selenium庫(kù)的安裝和使用

selenium: 是一個(gè)用于對(duì)web網(wǎng)頁(yè)進(jìn)行自動(dòng)化測(cè)試的工具, 可以通過(guò)它提供的一些方法自動(dòng)操作瀏覽器, 可以完全模擬人的操作

selenium在Python爬蟲(chóng)中的應(yīng)用:

1 獲取動(dòng)態(tài)網(wǎng)頁(yè)中的數(shù)據(jù), 一些動(dòng)態(tài)的數(shù)據(jù)我們?cè)讷@取的源碼中并沒(méi)有顯示的這一類(lèi)動(dòng)態(tài)加載數(shù)據(jù)

2 用于模擬登錄, 一些比較復(fù)雜的登錄過(guò)程, 如果不通過(guò)selenium中的瀏覽器驅(qū)動(dòng)完成登錄的話, 我們需要分析出來(lái)這個(gè)登錄發(fā)起的所有請(qǐng)求之間關(guān)聯(lián),包括cookie等關(guān)鍵信息(比如知乎登錄), 而通過(guò)selenium驅(qū)動(dòng)瀏覽器來(lái)完成知乎登錄的話, 就不需要考慮一些cookie, 請(qǐng)求和請(qǐng)求之間的關(guān)聯(lián)等信息, 只需要用戶(hù)名和密碼即可登錄

selenium的特點(diǎn)
  1. 它是通過(guò)驅(qū)動(dòng)瀏覽器來(lái)進(jìn)行頁(yè)面登錄, 或者是獲取頁(yè)面信息

  2. 通過(guò)selenium來(lái)爬取網(wǎng)址的時(shí)候, 效率比較低, 因?yàn)闉g覽器的打開(kāi), 請(qǐng)求, 渲染頁(yè)面都需要一定的時(shí)間, 所以盡量少使用selenium進(jìn)行網(wǎng)站爬取, 除非是動(dòng)態(tài)網(wǎng)站

  3. selenium提供的一些用于元素定位和查找的API都是純Python語(yǔ)言實(shí)現(xiàn)的, 所以效率上看, 沒(méi)有l(wèi)xml中的定位API效率高

  4. selenium是開(kāi)源免費(fèi)的, 支持主流的瀏覽器, IE, FireFox, Chrome, Opera, Safari等

使用方法:

  1. 安裝selenium:
pip3 install selenium (第三方庫(kù))
  1. 安裝Chrome 瀏覽器驅(qū)動(dòng), chromedriver
    下載完成后:

windows 下,新建一個(gè)命名為chromedriver文件夾,將解壓的chromedriver.exe放進(jìn)文件夾,再配置進(jìn)path環(huán)境變量

Mac、Linux下,把下載好的文件放在 /usr/bin 目錄下就可以了。

注意: 瀏覽器驅(qū)動(dòng)的版本最好要和瀏覽器的版本相匹配, 否則會(huì)出現(xiàn)不能啟動(dòng)瀏覽器的錯(cuò)誤!

安裝完成后:

1.引入這個(gè)庫(kù)

from selenium import webdriver

2.創(chuàng)建一個(gè)Chrome瀏覽器對(duì)象

browser = webdriver.Chrome()

3.通過(guò)瀏覽器對(duì)象browser向某一個(gè)url發(fā)起請(qǐng)求

browser.get(url)

4.關(guān)閉瀏覽器

browser.quite()

mitmproxy庫(kù)的安裝和使用

mitmproxy是一個(gè)支持HHTP/HTTPS協(xié)議的抓包程序,類(lèi)似Fiddler、Charles的功能,只不過(guò)世它通過(guò)控制臺(tái)的形式操作。

mitmproxy還有兩個(gè)關(guān)聯(lián)組件:

mitmdump:它是mitmproxy的命令行接口,利用它我們可以對(duì)接Python腳本,用Python實(shí)現(xiàn)監(jiān)聽(tīng)后的處理。

mitmweb: 它是一個(gè)Web程序,通過(guò)它我們可以清楚觀察mimproxy捕獲的請(qǐng)求。
mitmproxy的功能:

攔截HTTP和HTTPS請(qǐng)求和響應(yīng)
保存HTTP會(huì)話請(qǐng)進(jìn)行分析
模擬客戶(hù)端請(qǐng)求,模擬服務(wù)器返回響應(yīng)
利用反向代理將流量轉(zhuǎn)發(fā)給指定的服務(wù)器
支持Mac和Linux上的透明代理
利用Python對(duì)HTTP請(qǐng)求和響應(yīng)進(jìn)行實(shí)時(shí)處理

安裝:

完成mitmproxy的安裝,另外還附帶安裝了mitmdump和mimweb這兩個(gè)組件
pip3 install mitmproxy

pip3 install mitmproxy

PyQuery安裝和用法

PyQuery庫(kù)也是一個(gè)非常強(qiáng)大又靈活的網(wǎng)頁(yè)解析庫(kù),如果你有前端開(kāi)發(fā)經(jīng)驗(yàn)的,都應(yīng)該接觸過(guò)jQuery,那么PyQuery就是你非常絕佳的選擇,PyQuery 是 Python 仿照 jQuery 的嚴(yán)格實(shí)現(xiàn)。語(yǔ)法與 jQuery 幾乎完全相同,所以不用再去費(fèi)心去記一些奇怪的方法了。
官網(wǎng)地址:http://pyquery.readthedocs.io/en/latest/
jQuery參考文檔: http://jquery.cuishifeng.cn/

安裝:
pip3 install pyquery

XPath的安裝和用法
XPath,全稱(chēng)XML Path Language,即XML路徑語(yǔ)言,它是一門(mén)在XML文檔中查找信息的語(yǔ)言。它最初是用來(lái)搜尋XML文檔的,但是它同樣適用于HTML文檔的搜索。
XPath的選擇功能十分強(qiáng)大,它提供了非常簡(jiǎn)潔明了的路徑選擇表達(dá)式。另外,它還提供了超過(guò)100個(gè)內(nèi)建函數(shù),用于字符串、數(shù)值、時(shí)間的匹配以及節(jié)點(diǎn)、序列的處理等。幾乎所有我們想要定位的節(jié)點(diǎn),都可以用XPath來(lái)選擇。

安裝
pip3 install lxml
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 上網(wǎng)原理 1、爬蟲(chóng)概念 爬蟲(chóng)是什麼? 蜘蛛,蛆,代碼中,就是寫(xiě)了一段代碼,代碼的功能從互聯(lián)網(wǎng)中提取數(shù)據(jù) 互聯(lián)網(wǎng): ...
    riverstation閱讀 8,686評(píng)論 1 2
  • 1. 概述 本文主要介紹網(wǎng)絡(luò)爬蟲(chóng),采用的實(shí)現(xiàn)語(yǔ)言為Python,目的在于闡述網(wǎng)絡(luò)爬蟲(chóng)的原理和實(shí)現(xiàn),并且對(duì)目前常見(jiàn)的...
    Lemon_Home閱讀 3,132評(píng)論 0 21
  • 想寫(xiě)報(bào)道已然許久,之前或許是因?yàn)樾挠衅萜菅桑不蛟S……但嘗試一下也未必不可,故挺而走險(xiǎn)舉手作之。 ...
    別浮躁請(qǐng)荌靜閱讀 483評(píng)論 1 0
  • 樂(lè)活 每天晨起撿秋果, 幸運(yùn)快樂(lè)伴隨我。 煩惱與我無(wú)關(guān)連, 浪漫紅塵樂(lè)中裹。 今日收獲多多,快樂(lè)多多,幸福多多,夢(mèng)...
    往事如煙胖婆婆閱讀 648評(píng)論 12 22
  • 在現(xiàn)實(shí)世界里,沒(méi)有人會(huì)像方燈愛(ài)傅鏡殊,陸一愛(ài)方燈那樣愛(ài)自己的愛(ài)人吧。這樣的愛(ài)太沉重。但他們都是千瘡百孔的人,所以...
    鹿燁閱讀 832評(píng)論 0 2

友情鏈接更多精彩內(nèi)容