import pymysqlimport latlonChange as llcimport pandas as pdimport requestsimport jsonclass getBizobject def crawself url response = requestsgeturl if responsestatus_code == 200
import pymysql import latlonChange as llc import pandas as pd import requests import json
class getBiz(object):
def craw(self, url):
response = requests.get(url)
if response.status_code == 200:
json_obj = json.loads(response.text)
self.analysisJson(json_obj)
else:
print("Request failed!")
def analysisJson(self, json_obj):
datas = json_obj['data']['bubbleList']
for data in datas:
border = data['border']
latlons = border.split(";")
re = ""
for latlon in latlons:
latlonArr = latlon.split(",")
gglat, gglon = llc.bd09_to_gcj02(float(latlonArr[0]), float(latlonArr[1]))
re += str(gglat) + ' ' + str(gglon) + '\n'
flat, flon = llc.bd09_to_gcj02(float(latlons[0].split(",")[0]), float(latlons[0].split(",")[1]))
print(re + str(flat) + ' ' + str(flon))
print('==================')
def into_mysql(self, data):
conn = pymysql.Connect(
host='127.0.0.1',
user='root',
password='root',
db='baike',
port=3307,
charset='utf8mb4'
)
try:
cursor = conn.cursor()
sql = 'insert into `baike_info`(`title`,`summary`, `url`)values(%s,%s,%s)'
cursor.execute(sql, (data['title'], data['summary'], data['url']))
conn.commit()
finally:
conn.close()
if name == 'main': filename = 'bizList.csv' names = ['url'] data = pd.read_csv(filename, names=names) df = pd.DataFrame(data) for index, row in df.iterrows(): print(row['url']) url = row['url'] getBiz = getBiz() getBiz.craw(url
原文地址: https://www.cveoy.top/t/topic/hZcq 著作权归作者所有。请勿转载和采集!