Requests庫抓取數據
阿新 • • 發佈:2018-10-10
tour 中國 import 獲取網頁 imp 請求參數 分享 auto word
安裝requests庫 pip install requests
1.使用GET方式抓取數據:
import requests #導入requests庫 url="http://www.cntour.cn/" #需要爬取的網址 strhtml = requests.get(url); #使用GET方式,獲取網頁數據 print(strhtml.text) #打印html源碼
2.使用POST方式抓取數據
網址:有道翻譯:http://fanyi.youdao.com/
按F12 進入開發者模式,單擊Network,此時內容為空,如圖:
輸入‘’我愛中國‘’,翻譯就會出現:
單擊Headers,發現請求數據的方式為POST:
將url指取出來賦值:url=‘http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule’(把_o去掉)
POST請求獲取數據的方式不同於GET,POST請求數據必須構建請求頭才可以,所以把Form Data中的請求參數復制出來構建新字典:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author:XXC import requests import json #定義獲取信息函數 def get_translate_date(word=None): url=‘http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule‘ Form_data = { ‘i‘: ‘我愛中國‘, ‘from‘: ‘AUTO‘, ‘to‘: ‘AUTO‘, ‘smartresult‘: ‘dict‘, ‘client‘: ‘fanyideskweb‘, ‘salt‘: ‘1539098682270‘, ‘sign‘: ‘f293c39aa50f57d4d35eb6822f162f72‘, ‘doctype‘: ‘json‘, ‘version‘: ‘2.1‘, ‘keyfrom‘:‘fanyi.web‘, ‘action‘: ‘FY_BY_REALTIME‘, ‘typoResult‘: ‘false‘, } #請求表單數據 response = requests.post(url,data=Form_data) #將json格式字符串轉字典 content = json.loads(response.text) #打印翻譯後的數據 print(content[‘translateResult‘][0][0][‘tgt‘]) if __name__ == ‘__main__‘: get_translate_date(‘我愛中國‘)
Requests庫抓取數據