最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 16:36:10
文檔

教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose

教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose:作者:Gutierrez地址:http://www.jianshu.com/p/04459ab36b56 我有個(gè)馬上要混IT圈的女朋友,可她連大學(xué)C語(yǔ)言都是睡過的。我就是個(gè)操心的命,擔(dān)憂她適應(yīng)不了與周遭程序猿怎么交流。 雖然我一有機(jī)會(huì)便灌輸編程的快樂,科技的魅力,但收效甚微。所以這次,我準(zhǔn)
推薦度:
導(dǎo)讀教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose:作者:Gutierrez地址:http://www.jianshu.com/p/04459ab36b56 我有個(gè)馬上要混IT圈的女朋友,可她連大學(xué)C語(yǔ)言都是睡過的。我就是個(gè)操心的命,擔(dān)憂她適應(yīng)不了與周遭程序猿怎么交流。 雖然我一有機(jī)會(huì)便灌輸編程的快樂,科技的魅力,但收效甚微。所以這次,我準(zhǔn)
作者:Gutierrez地址:http://www.jianshu.com/p/04459ab36b56

我有個(gè)馬上要混IT圈的女朋友,可她連大學(xué)C語(yǔ)言都是睡過的。我就是個(gè)操心的命,擔(dān)憂她適應(yīng)不了與周遭程序猿怎么交流。

雖然我一有機(jī)會(huì)便灌輸編程的快樂,科技的魅力,但收效甚微。所以這次,我準(zhǔn)備耐心給妹紙寫個(gè)教程,教她爬蟲,感受編程的成就感,也掌握個(gè)得瑟利器。

好勒,我們開始之前,我得確保她此時(shí)情緒穩(wěn)定,因?yàn)檫@需要點(diǎn)耐心。真誠(chéng)的給大家意見,如果她眉頭緊鎖,趕快收起筆記本本帶她去吃好吃的,和諧最要緊。

配置環(huán)境

首先,我們需要臺(tái)電腦,幸虧妹子有Mac,省了不少事。最適合爬蟲的程序語(yǔ)言當(dāng)屬Python,Mac已經(jīng)內(nèi)置了Python,但我們需要補(bǔ)充一個(gè)爬蟲需要的庫(kù)requests。

電腦是個(gè)笨蛋,只能聽懂計(jì)算機(jī)語(yǔ)言,所以我們需要把我們的想法用計(jì)算機(jī)語(yǔ)言告訴他,讓他乖乖的執(zhí)行。庫(kù)是大神們已經(jīng)寫好的程序,我們導(dǎo)入庫(kù),就可以利用他們的成果了。

下載文件

https://bootstrap.pypa.io/get-pip.py

保存在根目錄(打開Finder就是)下,找到終端,打開后輸入下面的代碼,你不需要懂這是什么意思,總之,做完之后我們就配置好了所需的環(huán)境。心中默默祈禱,愿一切順利。

python get-pip.pypip install requests

準(zhǔn)備工作

在進(jìn)行爬蟲之前,我們需要去需要爬蟲的地方去踩踩點(diǎn)。我和女友都喜歡好奇心日?qǐng)?bào),那就去爬些好奇心日?qǐng)?bào)的圖片下來。

在chrome中打開所需爬蟲的網(wǎng)址,在網(wǎng)頁(yè)空白處右鍵單擊,在彈出的菜單中選擇審查元素,在彈出的底欄中就可以看到網(wǎng)頁(yè)的源代碼了,圖片的地址就藏在這些亂如麻的代碼中。不過,好在我們可以點(diǎn)擊底欄左上角的放大鏡,然后在選擇網(wǎng)頁(yè)中的圖片就可以快速在代碼中定位圖片地址了。

多選擇幾張圖片,仔細(xì)觀察會(huì)發(fā)現(xiàn)規(guī)律,格式是一樣的。

img class="pic" src="https://www.gxlcms.com/Uploads//system/articles/articleshows/18675/relatedMediumPc2/18675.jpg?1449539003" alt="可口可樂弧線瓶誕生 100 年了,它是如何改變了我們所處的世界? | 好奇心商業(yè)史"

看到這里,我們需要總結(jié)下爬蟲。我們?yōu)g覽的網(wǎng)頁(yè)絕大部分是通過一種編碼(HTML)將文字圖片視頻等內(nèi)容編程一堆復(fù)雜的代碼,如我們上面所見,瀏覽器會(huì)將這些代碼解釋成我們看到的樣子,換言之,我們?cè)跒g覽器中看到的都能在網(wǎng)頁(yè)源碼中找到。爬蟲是一種通過分析網(wǎng)頁(yè)源碼獲取我們信息的程序,在這里,我們利用爬蟲找到網(wǎng)頁(yè)源碼中的圖片并將其下載到本地。

爬蟲程序

在編寫代碼之前,我們需要準(zhǔn)備個(gè)代碼編輯器,這里推薦微軟的良心大作VS code,獻(xiàn)上下載地址。

https://www.visualstudio.com

打開VScode,將其保存在我們之前所說的根目錄下,保存成picdownloader.py,然后我們開始敲代碼。

#-*-coding:utf8-*-import reimport requestshtml = requests.get('http://www.qdaily.com/categories/17').textpic_url = re.findall('"pic" src="(.*?)"',html,re.S)i = 0 for each in pic_url: url = 'http://www.qdaily.com' + each print('now downloading:' + url) pic = requests.get(url) fp = open('pic//' + str(i) + '.jpg','wb') fp.write(pic.content) fp.close()i += 1

下面我們一條一條說。

#-*-coding:utf8-*-的意思上字符編碼是utf-8。妹子只需要知道寫上這條總沒錯(cuò),不寫有可能出錯(cuò)

import re import requests的意思上導(dǎo)入re 和requests庫(kù),告訴電腦,我們下面要用這兩個(gè)庫(kù)中的程序了。

下面這條代碼的目的是獲取網(wǎng)頁(yè)的源代碼,保存在html中,當(dāng)然你可以換成別的網(wǎng)頁(yè)。

html = requests.get('http://www.qdaily.com/categories/17').text

下面這條代碼是最核心的代碼,實(shí)現(xiàn)的功能是從上面的到的源代碼中,查找所有的圖片地址,將其保存在pic_url中?!眕ic” src=”(.*?)”‘表示我們查找的圖片地址在代碼中前面是”pic” src=”,后面是”。html就是上面我們?nèi)〉玫脑创a。

pic_url = re.findall('"pic" src="(.*?)"',html,re.S)

最后,我們只需要按照得到的圖片地址下載圖片到指定文件夾。代碼稍顯復(fù)雜,但別擔(dān)心,下面的代碼已經(jīng)不重要了,因?yàn)榕老x最核心的任務(wù)我們已經(jīng)完成。你可以拷貝下面的代碼添加到你的代碼后面,不過我還是會(huì)講解代碼的含義,但這里不懂也沒關(guān)系。

for each in pic_url:中,for語(yǔ)句表示循環(huán)遍歷pic_url,因?yàn)閜ic_url中保存著所有的圖片地址,所以下面的代碼會(huì)執(zhí)行多次,每次會(huì)處理一張圖片。each在下面的代碼中就代表每次執(zhí)行的圖片地址。

url = ‘ http://www.qdaily.com ‘ + each我們得到的地址不完整,需要與好奇心日?qǐng)?bào)的主頁(yè)合并,python中將兩個(gè)字符串合并,只需要+起來即可。

print(‘now downloading:’ + url)的功能是向終端打印括號(hào)中的內(nèi)容,我們把它當(dāng)作進(jìn)度條,執(zhí)行時(shí)觀察終端窗口,也許你會(huì)恍然大悟。

pic = requests.get(url)的功能是從url圖片地址下載到pic中。

最后所做的就是將下載得到的pic圖片內(nèi)容寫到文件中,并將其保存在pic文件夾中。

fp = open('pic//' + str(i) + '.jpg','wb')fp.write(pic.content)fp.close()

完整的代碼點(diǎn)此下載

http://pan.baidu.com/s/1i3LPgTB

執(zhí)行程序

千萬不要忘記在根目錄新建個(gè)文件夾來保存圖片,我們這里的文件夾是pic,還記得終端么,打開它,寫下如下代碼,回車即可

python picdownloader.py

到這里,我們完成圖片爬蟲程序,是不是很簡(jiǎn)單。女王,我已盡力,如果你沒懂,看來還得我手把手教,約么?

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose

教女朋友爬蟲是一種什么樣的體驗(yàn)_html/css_WEB-ITnose:作者:Gutierrez地址:http://www.jianshu.com/p/04459ab36b56 我有個(gè)馬上要混IT圈的女朋友,可她連大學(xué)C語(yǔ)言都是睡過的。我就是個(gè)操心的命,擔(dān)憂她適應(yīng)不了與周遭程序猿怎么交流。 雖然我一有機(jī)會(huì)便灌輸編程的快樂,科技的魅力,但收效甚微。所以這次,我準(zhǔn)
推薦度:
標(biāo)簽: it 什么是 女朋友
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top