Python從零到入門再到簡單爬蟲

2021-09-13 15:16:13 字數 2098 閱讀 3295

如果你一點都沒接觸過python,那你往下看,如果不是,請按ctrl+w關閉網頁。

二、helloworld

3.第乙個程式helloworld。

#!/usr/bin/python

print ("hello world")

三、簡單語法了解,具體可搜尋python教程,往上一大堆。4.中文編碼

#coding=utf-8

5.識別符號

字母數字下劃線,不能數字開頭

識別符號區分大小寫

一行內多條語句用;隔開

6.行縮排控制模組,不用{}

7.字串

使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字串

三引號可以由多行組成

8.注釋

採用 # 開頭

9.變數

變數無需宣告,直接使用,採用=賦值

10.函式

def 函式名(引數列表):

函式體四、爬蟲(1)-傳送請求

11.requests庫 

可以實現跟瀏覽器一樣傳送各種http請求來獲取**的資料。

開啟thonny,tools-open system shell

輸入:python -m pip install requests

12.利用requests請求**,獲取網頁資料

#!/usr/bin/python3

import requests

res = requests.get('')

res.encoding = 'utf-8'

print(res.text)

很多內容是動態載入的。所以建議動態載入的內容使用phantomjs而不是request庫進行請求

爬蟲(2)-解析html

13.使用beautifulsoup模組來從html文字中提取我們想要的資料。

pip install beautifulsoup4

python -m pip install beautifulsoup4

五、爬蟲例項,獲取csdn部落格標題【爬蟲**】:爬取csdn部落格標題。

import requests #匯入requests 模組

from bs4 import beautifulsoup  #匯入beautifulsoup 模組

web_url = ''

r = requests.get(web_url, headers=headers) #像目標url位址傳送get請求,返回乙個response物件

all_li = beautifulsoup(r.text, 'lxml').find_all('li',class_="clearfix") #獲取網頁中的class為clearfix的所有內容

for li in all_li:

a=li.find("a")

print(a.get_text()) #迴圈獲取a標籤中的內容

成果:

碰到的問題:

1.bs4.featurenotfound: couldn't find a tree builder with the features you requested: lxml. do you need to install a parser library?

bs4呼叫了python自帶的html解析器,預設安裝的是python2,開發環境也是python3的,在python3也裝乙個html解析器就好了

pip3 install lxml

不知道這算不算是入門了,我覺得以helloworld作為入門標準來講,這個應該算是真正的入門了。當然這個只是入門級的爬蟲,只能獲取到一頁的資料。網頁是動態載入的,要用到phantomjs + selenium ,這裡就不討論了,因為我也不懂。

docker從入門到精通再到放棄

docker說明 docker三大功能 構建 build 運輸 ship 執行 run 只需要記下這三大功能就可以了 1 docker入門 docker安裝及配置 a.docker源配置 curl o etc yum.repos.d docker ce.repo 安裝docker源 sed i s ...

從零react從入門到放棄

簡介 react是facebook出的一款針對view視層圖的library 庫 主要使用單向資料流的方式進行資料展示。react擁有較高的效能,邏輯非常簡單,越來越多的人已經開始關注和使用他 src script src script src script 通過npm或yarn使用react 國內...

從PGM到HMM再到CRF self note

問 有一點不太明白 想請教 mrf和crf看起來好像就是p x,y 和p y x 的差別,為什麼他們兩個模型的應用差距那麼的大呢?mrf廣泛運用在各種領域,crf大部分都用的linear 答 忽略掉生成模型和判別模型的差別,如果只是給定了觀測變數x要計算隱變數y的概率話,而不需要生成乙個新的樣本的話...