import json import requests import pymysql from mysql_test import mysql_conn # 因为不能访问, 所以我们加个头试试 headers = { #'Accept': '*/*', #'Accept-Encoding': 'gzip, deflate, br', #'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8', #'Connection': 'keep-alive', 'Cookie': 'aliyungf_tc=AQAAALoQF3p02gsAUhVFebQ3uBBNZn+H; xq_a_token=584d0cf8d5a5a9809761f2244d8d272bac729ed4; xq_a_token.sig=x0gT9jm6qnwd-ddLu66T3A8KiVA; xq_r_token=98f278457fc4e1e5eb0846e36a7296e642b8138a; xq_r_token.sig=2Uxv_DgYTcCjz7qx4j570JpNHIs; _ga=GA1.2.516718356.1534295265; _gid=GA1.2.1050085592.1534295265; u=301534295266356; device_id=f5c21e143ce8060c74a2de7cbcddf0b8; Hm_lvt_1db88642e346389874251b5a1eded6e3=1534295265,1534295722; Hm_lpvt_1db88642e346389874251b5a1eded6e3=1534295722', #'Host': 'xueqiu.com', #'Referer': 'https://xueqiu.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36', #'X-Requested-With': 'XMLHttpRequest', #'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36' } # urllib 的相关操作如下 url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=-1&count=10&category=111' # response = requests.get(url, headers=headers) ## 转化函数 res_dict = json.loads(res) res_dict = json.loads(response.text) list_list = res_dict['list'] #print(list_list) # 遍历 list_list for list_item_dict in list_list: # list 列表内的一个item, 他是一个dict data_str = list_item_dict['data'] # print(data_str) data_dict = json.loads(data_str) data = {} data['data_id'] = data_dict['id'] data['data_title'] = data_dict['title'] data['data_description'] = data_dict['description'] data['data_target'] = data_dict['target'] # print('-'*50) # print(data) try: sql = 'insert into xueqiu(data_id,data_title,data_description,data_target) values("{data_id}","{data_title}","{data_description}","{data_target}")'.format(**data) mc = mysql_conn() mc.execute_modify_mysql(sql) except: pass
import pymysql class mysql_conn(object): # 魔术方法, 初始化, 构造函数 def __init__(self): self.db = pymysql.connect(host='127.0.0.1', user='root', password='lxh1122', port=3306, database='py11') self.cursor = self.db.cursor() # 执行modify(修改)相关的操作 def execute_modify_mysql(self, sql): self.cursor.execute(sql) self.db.commit() # 魔术方法, 析构化 ,析构函数 def __del__(self): self.cursor.close() self.db.close() if __name__=='__main__': sql = 'insert into xueqiu values (3)' mc = mysql_conn() mc.execute_modify_mysql(sql) sql = 'insert into xueqiu values (4)' mc.execute_modify_mysql(sql) sql = 'insert into xueqiu values (5)' mc.execute_modify_mysql(sql) sql = 'insert into xueqiu values (6)' mc.execute_modify_mysql(sql)