python原理与架构_Python:爬虫原理和网页构造
入門網(wǎng)絡(luò)數(shù)據(jù)爬取,也就是Python爬蟲
現(xiàn)實(shí)中我們使用瀏覽器訪問網(wǎng)頁時(shí),網(wǎng)絡(luò)是怎么運(yùn)轉(zhuǎn)的,做了什么呢?
首先,必須了解網(wǎng)絡(luò)連接基本過程原理,然后,再進(jìn)入爬蟲原理了解就好理解的多了。
1、網(wǎng)絡(luò)連接原理
如上圖,簡單的說,網(wǎng)絡(luò)連接就是計(jì)算機(jī)發(fā)起請求,服務(wù)器返回相應(yīng)的HTML文件,至于請求頭和消息體待爬蟲環(huán)節(jié)在詳細(xì)解釋。
2、爬蟲原理
爬蟲原理就是模擬計(jì)算機(jī)對服務(wù)器發(fā)起Request請求,接收服務(wù)器端的Response內(nèi)容并解析,提取所需要的信息。
往往一次請求不能完全得到所有網(wǎng)頁的信息數(shù)據(jù),然后就需要合理設(shè)計(jì)爬取的過程,來實(shí)現(xiàn)多頁面和跨頁面的爬取。
多頁面爬取過程是怎樣的呢?
基本思路:由于多頁面結(jié)構(gòu)可能相似,可以先手動翻頁觀察URL
得到所有URL
根據(jù)每頁URL定義函數(shù)爬取數(shù)據(jù)
循環(huán)URL爬取存儲
跨頁面爬取過程是怎樣的呢?
基本思路:
找到所有URL
定義爬取詳細(xì)頁函數(shù)代碼
進(jìn)入詳細(xì)頁獲取詳細(xì)數(shù)據(jù)
存儲,循環(huán)完成,結(jié)束
3、網(wǎng)頁到底是怎么樣的呢?
右鍵選擇“檢查”,打開網(wǎng)頁源代碼,可以看到上面是HTML文件,下面是CSS樣式,其中HTML中包含的部分就是JavaScript代碼。
我們?yōu)g覽的網(wǎng)頁就是瀏覽器渲染后的結(jié)果,就是把HTML、CSS、JavaScript代碼進(jìn)行翻譯得到的頁面界面。有一個(gè)通俗的比喻就是:加入網(wǎng)頁是一個(gè)房子,HTML就是房子的框架和格局,CSS就是房子的軟裝樣式,如地板和油漆,javaScript就是電器。
如打開百度搜索,將鼠標(biāo)移至“百度一下”按鈕位置,右鍵選擇“檢查”,就可以看到網(wǎng)頁源碼位置。
或者直接打開右鍵源碼,通過點(diǎn)擊網(wǎng)頁源碼頁面左上角鼠標(biāo)狀圖標(biāo),然后移動到網(wǎng)頁的具體位置,就可以看到。
總結(jié)一下:爬取數(shù)據(jù)就是發(fā)起請求,得到網(wǎng)頁信息,然后找到你要的信息,但是在請求的過程中,很容易被反扒,禁止爬取動作,所以,需要很多技巧繞過反扒機(jī)制,這一點(diǎn)后續(xù)我們逐一解答。
總結(jié)
以上是生活随笔為你收集整理的python原理与架构_Python:爬虫原理和网页构造的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云 ecs mysql搭建_使用EC
- 下一篇: github mac 添加 ssh_计算