Python第一個指令碼
阿新 • • 發佈:2018-12-04
#!/usr/bin/env python # -*- coding:utf-8 -*- ''' 這是我的第一個Python爬蟲指令碼 使用的是Python3.7.0 2018-12-01 14:02 ''' import urllib.request import random # url = 'https://www.autohome.com.cn/beijing/' url = 'https://www.baidu.com/' # url中的中文的引數可以通過 urllib.parse.quote() 進行轉化 #模擬瀏覽器的請求,反爬蟲的第一步 ua_list = [ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv2.0.1) Gecko/20100101 Firefox/4.0.1", "Mozilla/5.0 (Windows NT 6.1; rv2.0.1) Gecko/20100101 Firefox/4.0.1", "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; en) Presto/2.8.131 Version/11.11", "Opera/9.80 (Windows NT 6.1; U; en) Presto/2.8.131 Version/11.11", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11" ] # 在User-Agent列表裡面隨機選擇一個User-Agent user_agent = random.choice(ua_list) # 通過urllib.request.Request() 方法構造一個請求函式 request = urllib.request.Request(url) # add_header()方法 新增/修改 一個HTTP報頭 request.add_header("User-Agent", user_agent) # 向指定的url地址傳送請求, 並返回伺服器響應的類檔案物件 reponse = urllib.request.urlopen(request) # 伺服器返回的類檔案物件支援Python檔案物件的操作方法 # read() 方法就是讀取檔案裡的全部內容,返回字串 resout_html = reponse.read().decode('utf-8') # 返回頁面的內容 resout_statcode = reponse.getcode() # 返回響應碼 resout_url = reponse.geturl() # 獲取傳送請求的url resout_info = reponse.info() # 獲取傳送請求的url print(resout_html)