python爬蟲項目-爬取雪球網金融數據(關注、持續更新)


(一)python金融數據爬蟲項目

爬取目標:雪球網(起始url:https://xueqiu.com/hq#exchange=CN&firstName=1&secondName=1_0&page=1)

爬取內容:雪球網深滬股市情況

使用工具:requests庫實現發送請求、獲取響應。  

     json格式的動態加載數據實現數據解析、提取。  

     pymysql進行數據存儲

思路:對該網站的動態加載數據的請求方式進行控制變量的發送請求,最終得到實際有效的參數。

項目重點:使用抓包工具分析發送數據請求到json格式的cookie數據,這是此次動態抓取的重點

直接放代碼(詳細說明在注釋里,歡迎同行相互交流、學習~):

 1 import requests
 2 import json
 3 import pymysql
 4 
 5 class mysql_conn(object):
 6     # 魔術方法, 初始化, 構造函數
 7     def __init__(self):
 8         self.db = pymysql.connect(host='127.0.0.1', user='root', password='abc123', port=3306, database='py1011')
 9         self.cursor = self.db.cursor()
10     # 執行modify(修改)相關的操作
11     def execute_modify_mysql(self, sql):
12         self.cursor.execute(sql)
13         self.db.commit()
14     # 魔術方法, 析構化 ,析構函數
15     def __del__(self):
16         self.cursor.close()
17         self.db.close()
18 
19 headers = {
20 # 使用抓包工具分析發送數據請求到json格式的cookie數據,這是此次動態抓取的重點
21     'Cookie':  xq_a_token=584d0cf8d5a5a9809761f2244d8d272bac729ed4; xq_r_token=98f278457fc4e1e5eb0846e36a7296e642b8138a; 
22     'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36',
23 }
24 url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=-1&count=10&category=111'
25 
26 response = requests.get(url,headers=headers)
27 
28 res_dict = json.loads(response.text)
29 
30 list_lsit = res_dict['list']
31 
32 db ={}
33 for list_item_dict in list_lsit:
34     data_dict = json.loads(list_item_dict['data'])
35 
36     db['id'] = data_dict['id']
37     db['title'] = data_dict['title']
38     db['description'] = data_dict['description']
39     db['target'] = data_dict['target']
40     try:
41         sql = 'insert into xueqiu (uid,title,description,target) values ("{id}","{title}","{description}","{traget}")'.fromart(**db)
42         mc = mysql_conn()
43         mc.execute_modify_mysql(sql)
44     except:
45         pass

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM