Python3獲取XX管理局可見資料學習案例
python3獲取XX管理局可見資料學習案例
# 匯入erquests (網路請求庫)
import requests
import json
import time
# 進行偽裝!
requests_headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.60'
}
# 1. 獲取首頁阿賈克斯請求資料
# (1)指定url (首頁阿賈克斯url)
home_url ='http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do'
# (2)封裝請求引數 (首頁阿賈克斯請求引數)
home_param={
'method': 'getXkzsList',
'on': 'true',
'page': '1' , # 頁碼 (想要多少頁內容,動態修改這個頁碼就行)
'pageSize': '15', #每頁的資料條數
'productName': '' , # 查詢的關鍵詞
'conditionType': '1', #1是許可編號,2是名稱,3是信用程式碼
'applyname': '',
'applysn': ''
}
# 設定睡眠時間 3秒
time.sleep(3)
# (3)向首頁的阿賈克斯url傳送請求 (先分析使用get() 或者 post(), 然後分析是否是阿賈克斯請求)
home_response =requests.post(url=home_url,params=home_param, headers=requests_headers )
# (4)獲取響應資料 (處理首頁阿賈克斯請求資料,提取裡面的id值,)
hoem_response=home_response.json() # 為json資料,所以要用.json
# 使用遍歷分別獲取首頁第一頁中的ID!
ajax_list=[]
for ajax_dict in hoem_response['list']: # 取出response 這個字典中的'list' 鍵,也就是存放首頁ajax請求資料的字典。
#print( ajax_dict) # 列印一下看是否已經獲取到字典。
ajax_id = ajax_dict['ID'] # 通過 ajax_dict 字典中的”ID“鍵來獲取id值。
#print(ajax_id) # 列印一下看是否已經獲取到。
ajax_list.append(ajax_id) # 將獲取到的id值存入ajax_lsit
print(ajax_list) # 列印一下字典看是否寫入字典成功!
# 2. 通過提取到的id值,獲取子頁ajax資料中基本資訊
# (1)指定url (子頁阿賈克斯url)
child_url = "http://scxk.nmpa.gov.cn:81/xk/itownet/portalAction.do?method=getXkzsById"
# 使用遍歷分別列印出首頁第一頁中的基本資訊!(遍歷上面獲取到的id值)
for i in ajax_list:
# (2)封裝請求引數(子頁阿賈克斯請求引數)
child_param={
"id": i
}
# 設定睡眠時間 0.3秒
time.sleep(0.3)
#(3)向子頁阿賈克斯url傳送請求 (先分析使用get() 或者 post(), 然後分析是否是阿賈克斯請求)
child_response =requests.post(url=child_url,params=child_param, headers=requests_headers )
page_text = child_response.json() # 為json資料,所以要用.json
print(page_text) # 列印出每次遍歷請求得到的響應資料
# 3.做資料儲存 (將每次遍歷請求得到的資訊寫入文件)
fp =open("E:\python例項\爬蟲第一課\例項6:千燈資訊爬取學習案例/響應資料.txt","a",encoding='utf-8')
page_data =json.dump(page_text,fp=fp,ensure_ascii=False)
# 使用dump寫入檔案需要另外寫關閉檔案的語句,dump不像上下文管理器那樣自動關閉檔案,同時這裡
#也不適合使用上下文管理器!
# 全部寫入完成後關閉檔案(釋放資源)
fp.close()
以上是個人日常學習案例,經驗思路總結分享!
相關文章
- Python3 - 獲取資料夾中的檔案列表Python
- Oracle盲注結合XXE漏洞遠端獲取資料Oracle
- 獲取AFP共享的資料夾及其許可權
- 資料獲取,解析,儲存等知識的學習總結
- Python3學習-(基本資料型別-字串)Python資料型別字串
- Python3學習-(基本資料型別-列表)Python資料型別
- java學習路程(javaEE)之獲取表單資料、獲取引數、request域、會話技術(Cookie)Java會話Cookie
- ckeditor獲取資料
- 資料庫學習:許可權管理資料庫
- 相容iOS 10:配置獲取隱私資料許可權宣告iOS
- django建立專案案例1獲取並傳遞資料續04Django
- win10如何獲取檔案訪問許可權_win10怎麼獲取許可權看資料夾Win10訪問許可權
- 獲取Wireshark資料流
- 1.獲取資料
- Modbus ASCII 獲取資料ASCII
- [ STK ](十)與 Matlab 互聯通訊,獲取衛星間可見性資料【演算法優化】Matlab演算法優化
- 21 分鐘學 apollo-client 系列:獲取資料client
- tp3.2.3開發網站導航案例+非同步獲取資料網站非同步
- 從 0 學習 Spring 快取資料Spring快取
- 前端,java,mysql,nginx,簡歷 獲取免費學習資源!!!前端JavaMySqlNginx
- datatables 獲取 pageLength 和 pageStart,重新獲取table資料
- 【譯】React如何獲取資料React
- Mysql批量大資料獲取MySql大資料
- 獲取天氣介面資料
- 從session中獲取資料Session
- 微信小程式—— 獲取資料微信小程式
- 如何獲取想要的資料?
- datatables使用ajax獲取資料
- Python3學習(基本資料型別-集合-字典-基本資料型別總結)Python資料型別
- Python3學習筆記1,基本資料型別-Number、strPython筆記資料型別
- 喜報丨愛可生成果獲評2022大資料“星河”資料庫優秀案例大資料資料庫
- 關於HDFS的資料可見性
- 【練習】豆瓣API獲取資料,sarts元件,更改“正在上映”API元件
- java連線Oracle資料庫獲取資料JavaOracle資料庫
- 如獲取獲取關聯資料的文件跟模型的關聯資料集呢模型
- 愛可生榮獲《2022愛分析·中國資料智慧最佳實踐案例》
- Flutter 中的資料的獲取Flutter
- JavaScript獲取物件資料型別JavaScript物件資料型別