1. 程式人生 > >Python爬蟲--urllib

Python爬蟲--urllib

urllib包含模組:

       -urllib.request:開啟和讀取urls

       -urllib.error:包含urllib.request產生的常見的錯誤,使用try捕捉

       -urllib.parse:包含即系url的方法,把一些資料進行編碼

       -urllib.robotparse:解析robots.txt檔案

from urllib import request

if __name__ == '__main__':
    url="http://www.baidu.com"
    #開啟相應的url並把相應頁面作為返回
    html = request.urlopen(url)
    #把返回結果讀取出來並解碼成字串
    res = html.read().decode()
    print(res)

這就是最簡單的一個使用urllib爬取百度原始碼的爬蟲

 

現在我們可以利用request和parse模組來做一個簡單的搜尋引擎

"""
簡單易懂的搜尋引擎
"""
from urllib import parse,request

url = "http://www.baidu.com/s?"
wd = input("請輸入關鍵字:")

#弄成一個字典
qs = {
    "wd":wd
}
#使用urllib模組裡面的parse把輸入的文字編碼,加密,成為電腦認識的形式
qs = parse.urlencode(qs)
#列印你輸入的文字的編碼
print(qs)

flag = url + qs
#列印你最終搜尋的url
print(flag)

rsp = request.urlopen(flag)
html = rsp.read().decode()

#輸出原始碼
print(html)

首先我們先把輸出的文字進行編碼,然後再把url和編碼後的格式相接,再使用request獲取原始碼,這就是一個簡單的利用百度搜索了。