python_深セン政府のデータ開放プラットフォームに登る商事主体データ
8105 ワード
主なステップ:1、深セン政府のデータ開放プラットフォームに登録し、APIを呼び出すappKey 2、購読に必要なAPIインタフェースを取得し、個人センターのインタフェーステストでAPIアドレスを取得する3、pageパラメータとデータ量の大きさによってインタフェースPSを遍歴する:一人一人のCookieは異なり、パラメータを変更することを覚えている
コアコード:
データが必要な場合は私の話をしてください.質問があればコメントしてください.急いでいる場合は、他の文章を開いて連絡先を取得してください.
コアコード:
'''
https://opendata.sz.gov.cn/api/1564501785/1/service.xhtml
'''
import json
import requests
import pandas as pd
def get_business(i):
url = "https://opendata.sz.gov.cn/api/1564501785/1/service.xhtml"
try:
header = {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Connection': 'keep-alive',
'Host': 'opendata.sz.gov.cn',
'Origin': 'https://opendata.sz.gov.cn',
'Referer': 'https://opendata.sz.gov.cn/maintenance/personal/toApiTest',
'Cookie': '_trs_uv=k1q8o8my_2368_4sr9; JSESSIONID=717e9762-8a93-45b0-9f58-c514de3ab211',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36 SE 2.X MetaSr 1.0',
}
formdata = {
"page": i,
"appKey": "1f7f94fa62e64224a86ffea30255267c",
}
response = requests.get(url, params=formdata, headers=header)
if response.status_code == 200:
data = json.loads(response.text)
return data
return {"asd":"asda"}
except Exception as e:
print(e)
print(i)
# mian_spider()
def mian_spider():
# start = len(eachFile(Json_dir))
for i in range(30000, 54667):
page = str(i)
Json_data = get_business(page)
# writeOneJson(Json_data, Json_dir + 'page' + page + '.json')
if 'data' in Json_data.keys():
df = pd.DataFrame.from_dict(Json_data['data'], orient='columns')
df.to_csv(csv_dir + ' .csv', mode='a', index=False, header=False)
if __name__ == "__main__":
csv_dir = 'D:\data\csv\\'
mian_spider()
データが必要な場合は私の話をしてください.質問があればコメントしてください.急いでいる場合は、他の文章を開いて連絡先を取得してください.