今天開始我將簡單介紹一下網絡爬蟲,並開始帶大家學習如何寫爬蟲
一、爬蟲介紹
1、什麼是爬蟲?
你可以把互聯網想想成一個巨大的蜘蛛網,而爬蟲就是一個小蜘蛛在網的各個節點中穿梭。 就像探測機器一樣,基本操作就是模擬人去瀏覽各個網站,瀏覽數據,查看信息。
2、爬蟲可以做什麼?
(1)搶火車票:
這應該是爬蟲行業中使用量最大,很多搶票軟件每秒對12306掃數千數萬次。
(2)刷瀏覽量:
爬蟲重災區應該是微博無疑了,爬蟲代碼指向微博的某一個接口,可以獲取用戶的微博列表,微博動態,等等信息。
有的人用爬蟲指揮機器人,來打開某人的微博進行點贊、評論或留言。也就是微博上所謂的殭屍粉(去年某坤微博轉發過億次還記得嗎)。
還有很多更“好玩”的用處,這裏就不廢話了
二、正式開始學習
想寫爬蟲,首先要了解 URL:
統一資源定位符(Universal Resource Locator),簡單說就是表示資源的地址(我們說某個網站的網址就是 URL)。
1、urllib.request.urlopen()函數
urllib 是一個軟件包,收集了幾個用於處理URL的模塊 :
.
urllib.request : 用於打開和閱讀URL
.
urllib.error : 包含由引發的異常 urllib.request
.
urllib.parse : 用於解析URL
.
urllib.robotparser : 用於解析robots.txt文件
urllib.request—用於打開URL的可擴展庫
urllib.request.urlopen(url,data = None,[ timeout,] *,cafile = None,capath = None,cadefault = False,context = None )
##打開url,字符串或 Request 對象
data:訪問URL時傳輸的數據
timeout:參數以秒爲單位,檢測是否超時
# Time:2020/03/11 1:07
# environment:IDLE
>>> import urllib.request
>>> response=urllib.request.urlopen("http://www.baidu.com")
>>> type(response)
<class 'http.client.HTTPResponse'>
# 返回 HTTPResponse 類型數據
2、實例檢測某網站的編碼
>>> import chardet
>>> import urllib.request
>>> url = input('input address:')
# 輸入網址
>>> response = urllib.request.urlopen(url)
# urllib.request.urlopen信息傳給response
>>> infor = response.read()
# 返回獲取到的頁面內容
>>> encode = chardet.detect(infor)['encoding']
>>>print(encode)
input address:http://www.baidu.com
utf-8
3、檢測網站狀態
“200”則說明網站正常
“404”就說明不正常
>>> import urllib.request
>>> response=urllib.request.urlopen("http://www.baidu.com")
>>> code=response.getcode()
>>> print(code)
200
今天晚上一直看 LOL 直播,現在有點撐不住了,都凌晨一點半了
早起還要上網課
上完網課再更