1. 程式人生 > >Requests庫抓取數據

Requests庫抓取數據

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庫抓取數據