1.2 python
1.2.1 第三方庫
Requests
BeautifulSoup
1.2.2 重要知識點
1.2 python
1.2.1 第三方庫
Requests
python開源了很多第三方庫,在寫爬蟲抓取資料的時候,一般會用第三方庫:requests,使用import,導入包之後就可以調用了。
Requests:可以用來發送網絡請求,如圖:

此外,還有很多進階的操作,如:
傳遞參數:如果要手工建構URL,那麼資料會以健值對的形式放在URL中,跟在一個問号後面,這在寫爬蟲的時候會非常友善,如圖:
注:字典為None的值不會傳到URL裡
定制請求頭:若想要自己的爬蟲更加強壯,不被封掉,可以簡單傳遞一個字典給headers,讓自己僞裝得更好。
此外,還可以以位元組的方式通路請求響應體,同時request還内置了json解碼器,可以處理JSON資料。
BeautifulSoup
BeautifulSoup解析頁面
見代碼 Beautiful_basic.ipynb
prettify函數可以把标簽美化,變成典型的層級結構
BeautifulSoup把html轉換成複雜的樹形結構,每個節點都是python對象,所有對象可以歸納為四種: Tag, NavigableString, BeautifulSoup, Comment
Tag
隻要加上标簽名,就可以擷取對應的标簽。
注:這樣擷取的是第一個符合内容的标簽
1.2.2 重要知識點
變量
使用變量,可以大幅提升代碼的效率,也利于函數之間傳遞。
如10 + 3 = 13,2 + 10 = 12,10 – 16 = -6.
這三個表達式都使用了10這個數值,這時候可以命名一個變量x= 10,就可以寫成:x + 3 = 13, 2 + x = 12, x – 16= -6。
注:變量命名可以包括字母,數字,下劃線,但不能以數字開頭。
字元串
字元串和數字一樣,也是一個值,但字元串需要以’’或””包起來。多個字元串可以用 + 拼接起來。
字元串的常用函數有:
len(‘huang’) :輸出5,獲得字元串中的元素個數
str.strip() :去除字元串的首尾空白符
str.replace :替換字元
str.split(‘i’) :根據字母i切分字元
清單
清單是一種有序的集合,可以随時添加或删除裡面的元素,清單中的每個元素都對應着一個索引号,索引從0開始。
字典
字典的重要組成部分是鍵(key)和值(value),key是字典的索引,因而它一定是唯一的。
檔案讀寫:必備技能
将文本内容寫到某個檔案中,path表示檔案路徑;
mode表示讀或者寫,mode=’w’表示寫,mode = ‘r’表示讀;
fp為檔案對象;
fp.write表示調用write方法,并寫入字元串;
最後關閉。