1. 程式人生 > >Python第一個指令碼

Python第一個指令碼

#!/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)