1.Request庫
Request庫有七個基本方法:
首先以requests庫的request方法進行講解:
其次,以其中典型的get方法進行說明:
1.
r=requests.get(url)
首先get構造一個向服務器請求資源的 Request對象 ,r是一個返回的一個包括服務器資的 Response對象 。
2.
r=requests.get(url,params=None,**kwargs)
params:url中的額外參數,字典或者字節流格式...可以修改url內容
**kwargs是12個可以控制的參數:
特別指出,headers是一個字典,可以修改http頭,比如有些網站禁止爬蟲使用,我們可以修改user-agent:
hd = {'user‐agent': 'Chrome/10'}
r = requests.request('POST', 'http://python123.io/ws', headers=hd)
其余6中與get類似。
最后,是Request的標準模板:
try:
r=requests.get(url)
r.raise_for_status
r.encoding=r.apparent_encoding
return r.text
except:
return ""
2.Beautiful Soup庫
Beautiful Soup庫是解析、遍歷、維護“標簽樹”的功能庫。
1.首先,三種遍歷方式:下行遍歷、上行遍歷,平行遍歷。
(平行遍歷發生在同一個父節點下的各節點間。)(復數的都是迭代變量,用在for循環中)
使用方法:
from bs4 import BeautifulSoup
import bs4
soup=BeautifulSoup(html,"html.parser")#soup則為返回的html內容
soup.prettify()#為html文本增加‘\n’使得看起來更好看一些
find方法:
soup.find_all(name, attrs, recursive, string, **kwargs)
3.正則表達式(RE)
正則表達式的表示類型是raw string:表示為r'text'。raw string是不包括對轉義符再次轉義的字符串。就是使用\d的時候,\不需要寫成\\表示轉義。
?
?
?
Re庫默認貪婪匹配,即輸出匹配最長的子串。但是存在多種匹配,都可以在操作符后面加?變成最小匹配。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
