(一)使用登入cookie方法
使用第一講案例中查詢響應檔案的方式找到該頁面的doc檔案,獲取請求頭中的cookie資訊:
將該資訊以鍵值對的形式儲存到請求頭引數中即可,請使用自己的cookie值
headers =
爬取完整程式如下,可參考:
import requests
def local_1():
# 準備引數
base_url = ''
headers =
# 傳送請求獲取響應
response = requests.get(base_url, headers=headers)
dirname = './html/'
# 寫入檔案
with open(f'kaixin.html', 'w', encoding='utf-8') as fp:
fp.write(response.content.decode(encoding='utf-8'))
if __name__ == '__main__':
local_1()
(二)使用登入賬號和密碼驗證
不太推薦這種方法,因為有的**需要驗證碼,會報錯。
開心網的登入頁面似乎有兩個,乙個需要驗證,乙個不需要,這裡直接複製這個url即可。
流程就是建立乙個session物件,使用post請求傳遞了使用者賬號和密碼引數,再使用這個物件對頁面進行請求。完整**如下:
import requests
def local_2():
"""使用者名稱,密碼登入爬取"""
# 1、登入網頁
local_url = ''
base_url = ''
# 僅需要瀏覽器標識
headers =
data =
# 2、建立session物件
session = requests.session()
session.post(local_url, headers=headers, data=data)
response = session.get(base_url, headers=headers)
print(response.text)
if __name__ == '__main__':
local_2()
import requests
proxies =
response = requests.get('', proxies=proxies)
print(response.status_code)
import requests
def get_json(url):
"""根據路由,拿到響應的json資料
:param url: 獲取物件的路由
:return: json資料
"""headers =
response = requests.get(url, headers=headers)
return response.json()
def get_city_adcode():
"""獲取城市的adcode
:return: [(name, adcode)]
"""# 傳送請求獲取響應
url = ''
city_json = get_json(url)
# 取出需要的城市的adcode以列表形式儲存
city_list = city_json['data']['citydata']['hotcitys']
city_adcode =
for i in range(1,len(city_list)):
return city_adcode
def get_city_weather(name, adcode):
"""獲取城市的天氣資訊
:param name: 城市名稱
:param adcode: 城市編號
:return:
"""# 傳送請求獲取天氣的json資料
url = '' % adcode
weather_json = get_json(url)
# 獲取其中的天氣和溫度資訊
weather_list = weather_json['data']['data'][0]['forecast_data'][0]
weather_name = weather_list['weather_name']
max_temp = weather_list['max_temp']
min_temp = weather_list['min_temp']
return f'市,天氣:,最高溫度:,最低溫度:'
def main():
"""獲取才是天氣的主線任務
:return:
"""# 1、獲取城市的adcode
city_adcode_list = get_city_adcode()
# 2、獲取城市的天氣資訊
for city in city_adcode_list:
name = city[0]
adcode = city[1]
get_weather = get_city_weather(name, adcode)
print(get_weather)
if __name__ == '__main__':
main()
感謝各位耐心瀏覽!謝謝大家的支援。 機器學習 第二講
多元線性回歸又稱 multivariate linear regression 現在介紹一種可以表示任意輸入變數的符號 現在定義假設函式的多變數形式,包含以下各種引數 h theta x theta 0 theta 1 x 1 theta 2 x 2 theta 3 x 3 cdots theta ...
第二講 變數定義
批處理中變數的定義。變數 在程式的執行過程中隨時可以發生變化的量。好像是這麼定義的,在批處理中,變數的定義一般用以下set命令來設定。set 顯示 設定或刪除 cmd.exe 環境變數。set設定變數的基本形式 set 變數名 變數值 在cmd中如果直接輸入set,則會顯示系統的環境變數,而且這些變...
R語言第二講
web packages有一些錯誤是r的初學者和經驗豐富的r程式設計師都可能常犯的。如果程式出錯了,請檢查 以下幾方面。使用了錯誤的大小寫。help help 和help 是三個不同的函式 只有第乙個 是正確的 忘記使用必要的引號。install.packages gclus 能夠正常執行,然而in...