成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

python爬蟲入門(一)

lentrue / 1819人閱讀

摘要:想辦法區(qū)分爬蟲程序和正常的用戶。爬蟲是工具性程序,對(duì)速度和效率要求較高。生態(tài)圈完善,是最大對(duì)手。最要命的是爬蟲需要經(jīng)常修改部分代碼。爬蟲分類通用爬蟲也就是百度搜狐等搜索引擎。原本是為測(cè)試來測(cè)試網(wǎng)站的,后來成了爬蟲工程師最喜愛的工具。

一、爬蟲的基本知識(shí):

1. 什么是爬蟲

爬蟲的英文翻譯為spider或者crawder,意為蜘蛛或者爬行者,從字面意思我們可以體會(huì)到:爬蟲就是把自己當(dāng)做蜘蛛或者爬行者,沿著既定路線,爬到指定節(jié)點(diǎn),獵取食物獲取目標(biāo)。在這里我們的蜘蛛網(wǎng)即互聯(lián)網(wǎng),我們爬取的方法即為路徑,我們所要獲取的數(shù)據(jù)即為食物或目標(biāo)。

2. 爬蟲的核心

爬取網(wǎng)頁

解析數(shù)據(jù)

難點(diǎn):與反爬蟲博弈(反爬蟲: 資源的所有者,想要保護(hù)資源,避免被第三方爬蟲程序批量的把資源下載下去。想辦法區(qū)分爬蟲程序和正常的用戶。)

3. 爬蟲的語言

php:雖然是世界上最好的語言,但是天生不是干爬蟲的命,PHP對(duì)多線程、異步支持不足,并發(fā)不足。爬蟲是工具性程序,對(duì)速度和效率要求較高。

java:生態(tài)圈完善,是Python最大對(duì)手。但是Java本身很笨重,代碼量大。重構(gòu)成本比較高,任何修改都會(huì)導(dǎo)致大量代碼的變動(dòng)。最要命的是爬蟲需要經(jīng)常修改部分代碼。

CC++:運(yùn)行效率和性能幾乎最強(qiáng),但是學(xué)習(xí)成本非常高,代碼成型較慢,能用C/C++寫爬蟲,說明能力很強(qiáng),但是不是最正確的選擇

Python:語法優(yōu)美、代碼簡(jiǎn)介、開發(fā)效率高、三方模塊多,調(diào)用其他接口也方便。有強(qiáng)大的爬蟲Scrapy,以及成熟高效的scrapy-redis分布式策略。

4. 爬蟲分類

通用爬蟲
也就是百度、Google、360、搜狐、firefox等搜索引擎。特點(diǎn)是爬取網(wǎng)站所有內(nèi)容、但不能根據(jù)客戶需求給出特定內(nèi)容。在這里,各家瀏覽器根據(jù)其pagerank分進(jìn)行網(wǎng)站搜索的排名,同時(shí)還有競(jìng)價(jià)排名。

聚焦爬蟲
就是現(xiàn)在我們這些爬蟲程序員所進(jìn)行的工作,就是根據(jù)客戶的需求,爬取指定網(wǎng)站的特定內(nèi)容。

二、如何學(xué)習(xí)爬蟲

1. 首先要理解什么是http/https協(xié)議

http協(xié)議:菜鳥教程:http協(xié)議詳解

https協(xié)議:菜鳥教程:https協(xié)議詳解

2. python基礎(chǔ)知識(shí)

urllib.request

urllib.parse

正則表達(dá)式等等基礎(chǔ)知識(shí)。

3. 開發(fā)工具

pacharm:下載安裝請(qǐng)參考菜鳥教程:pycharm下載安裝教程

sublime Text3:下載安裝請(qǐng)參考菜鳥教程:sublime下載安裝

4. 抓包工具

chrome瀏覽器的開發(fā)者模式,在這里可以檢查網(wǎng)頁的各種元素。

fiddler:原本是為測(cè)試來測(cè)試網(wǎng)站的,后來成了爬蟲工程師最喜愛的工具。這是一款開源軟件,可以直接去官網(wǎng)下載安裝https://www.telerik.com/downl...

postman:可以根據(jù)請(qǐng)求頭信息生成簡(jiǎn)單的網(wǎng)頁爬取代碼,界面相對(duì)于fiddler也要美觀

motimproxy

三、代碼實(shí)現(xiàn)簡(jiǎn)單的爬蟲實(shí)例

python爬蟲有多簡(jiǎn)單,下面我一行代碼爬取百度首頁,如同在瀏覽器輸入網(wǎng)址一樣簡(jiǎn)單

import urllib.request
urllib.request.urlretrieve("http://www.baidu.com/", "baidu.html")

上面的代碼只能簡(jiǎn)單抓取網(wǎng)頁,一旦遇到需要請(qǐng)求頭的反爬蟲時(shí)就不能發(fā)揮作用了,所以一般常用的爬蟲代碼如下:

    import urllib.request
    url = "http://www.baidu.com/"
    
    request = urllib.request.Request(url)
    
    response = urllib.request.urlopen(request)
    
    with open("baidu.html", "wb") as f:
        f.write(response.read())

請(qǐng)求頭反反爬蟲:

import urllib.request
#指定url
url = "https://www.qiushibaike.com/"
#定義請(qǐng)求頭對(duì)象
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36"

}
#獲取網(wǎng)頁信息
request = urllib.request.Request(url, headers=headers)

response = urllib.request.urlopen(request)

with open("xiushi.html","wb") as f:
    f.write(response.read())

今天先寫到這兒了,我爭(zhēng)取做到每日分享,與大家一起學(xué)習(xí),一起進(jìn)步,為了美好的明天,艱苦奮斗。
                                                     ————你與別人的差距在加班的時(shí)間。


文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/42013.html

相關(guān)文章

  • 零基礎(chǔ)如何學(xué)爬蟲技術(shù)

    摘要:楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),。本文來源知乎作者路人甲鏈接楚江數(shù)據(jù)提供網(wǎng)站數(shù)據(jù)采集和爬蟲軟件定制開發(fā)服務(wù),服務(wù)范圍涵蓋社交網(wǎng)絡(luò)電子商務(wù)分類信息學(xué)術(shù)研究等。 楚江數(shù)據(jù)是專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù),現(xiàn)整理出零基礎(chǔ)如何學(xué)爬蟲技術(shù)以供學(xué)習(xí),http://www.chujiangdata.com。 第一:Python爬蟲學(xué)習(xí)系列教程(來源于某博主:htt...

    KunMinX 評(píng)論0 收藏0
  • Python爬蟲學(xué)習(xí)路線

    摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識(shí),比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...

    liaoyg8023 評(píng)論0 收藏0
  • 首次公開,整理12年積累的博客收藏夾,零距離展示《收藏夾吃灰》系列博客

    摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...

    Harriet666 評(píng)論0 收藏0
  • 基于 Python 的 Scrapy 爬蟲入門:頁面提取

    摘要:目錄基于的爬蟲入門環(huán)境搭建基于的爬蟲入門頁面提取基于的爬蟲入門圖片處理下面創(chuàng)建一個(gè)爬蟲項(xiàng)目,以圖蟲網(wǎng)為例抓取圖片。 目錄 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建 基于 Python 的 Scrapy 爬蟲入門:頁面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 下面創(chuàng)建一個(gè)爬蟲項(xiàng)目,以圖蟲網(wǎng)為例抓取圖片。 一、內(nèi)容分析 打開 圖蟲網(wǎng),頂部菜單發(fā)現(xiàn)...

    willin 評(píng)論0 收藏0
  • 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建

    摘要:一基礎(chǔ)環(huán)境由于不是職業(yè)的開發(fā)者,因此環(huán)境是基于的。二安裝打開命令行工具創(chuàng)建虛擬環(huán)境,默認(rèn)情況下會(huì)創(chuàng)建目錄,所有的虛擬環(huán)境都會(huì)產(chǎn)生一個(gè)子目錄保存在此,里面包含基本程序文件以及庫文件。 目錄 基于 Python 的 Scrapy 爬蟲入門:環(huán)境搭建 基于 Python 的 Scrapy 爬蟲入門:頁面提取 基于 Python 的 Scrapy 爬蟲入門:圖片處理 作為一個(gè)全棧工程師(...

    Gu_Yan 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<