python快速接手别人的代码_Python 爬虫代码,网上找的别人的,但是报错,求高手指点...

本帖最后由 Ly102 于 2020-9-9 17:06 编辑

代码如下:

import os

import random

import json

import time

import ssl

import pandas as pd

import requests

import urllib3

#此文件我已上传到我的下载

from utils.read_write import writeOneJSON

ssl._create_default_https_context = ssl._create_unverified_context

header = {

'Host': 'ytz.winshangdata.com',

'appType': 'ytzapp',

'Connection': 'keep-alive',

'Upgrade-Insecure-Requests': '1',

'platform': 'android',

'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',

'Accept-Encoding': 'gzip, deflate',

'Accept-Language': 'zh-CN,en-US;q=0.9',

'X-Requested-With': 'com.winshangdata.ytz',

'uuid': '860000000229756,860000000229756',

'token': 'eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJleHBpclwiOjE1NzQzNDAxNDYxNTksXCJ1aWRcIjpcIkphY2tzb24yMjJcIixcInV1aWRcIjpcIjE1ODY5NzQyMTA4XCJ9IiwiaWF0IjoxNTczODIxNzQ2fQ.bQVKB1khKYu5LI9Do4zzkpqJd9xGDh5eNIJqcC7CORw',

'Cookie': 'auth={%22token%22:%22eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJleHBpclwiOjE1NzM3NDg0OTE4NDEsXCJ1aWRcIjpcIkphY2tzb24yMjJcIixcInV1aWRcIjpcIjE1ODY5NzQyMTA4XCJ9IiwiaWF0IjoxNTczMjMwMDkxfQ.vtCnWjWyM5tD8lmb2lWzhLfKzg4mTw-9W8mFmzdeVq8%22%2C%22refreshToken%22:%22eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ7XCJleHBpclwiOjE1NzQxMTkxMjQ1NDUsXCJ1aWRcIjpcIkphY2tzb24yMjJcIixcInV1aWRcIjpcIjE1ODY5NzQyMTA4XCJ9IiwiaWF0IjoxNTczMjMwMDkxfQ.7RrT9bIUO06wRDVsjHG_eSLQKa2IaLvyX-qRHvAWY48%22%2C%22uid%22:%2215869742108%22%2C%22uuid%22:%22860000000229756%2C860000000229756%22}',

'User-Agent': 'Mozilla/5.0 (Linux; Android 7.1.1; OPPO A73t Build/N6F26Q; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/62.0.3202.84 Mobile Safari/537.36 uni-app Html5Plus/1.0 (Immersed/18.0)'

}

def getProjectRadius(id, path):

url_getBrandNumVoList = "https://ytz.winshangdata.com/mapapi/api/project/getBrandNumVoList"

getKilometerSupportingFacilitiesCount = "https://ytz.winshangdata.com/mapapi/api/project/getKilometerSupportingFacilitiesCount"

getProjectPeripheryXBaoGaoCtr = "https://ytz.winshangdata.com/mapapi/api/project/getProjectPeripheryXBaoGaoCtr"

getProjectZhouBianRfCtr = "https://ytz.winshangdata.com/mapapi/api/project/getProjectZhouBianRfCtr"

getProjectKmListCtr = "https://ytz.winshangdata.com/mapapi/api/project/getProjectKmListCtr"

BasicInformationCtr = "https://ytz.winshangdata.com/mapapi/api/project/getProjectBasicInformationCtr"

try:

formdata = {

"projectId": id,

"radius": '3',

"type": '1',

}

urllib3.disable_warnings()

response = requests.post(url_getBrandNumVoList, json=formdata, headers=header, verify=False)

url_getBrandNumVoList = json.loads(response.text)

writeOneJSON(url_getBrandNumVoList,

path + '\\' + str(id) + '_' + 'getBrandNumVoList_radius_3.json')

formdata = {

"projectId": id,

"radius": '3',

}

response = requests.post(BasicInformationCtr, json=formdata, headers=header, verify=False)

BasicInformationCtr = json.loads(response.text)

writeOneJSON(BasicInformationCtr, path + '\\' + str(id) + '_' + 'BasicInformationCtr_radius_3.json')

response = requests.post(getKilometerSupportingFacilitiesCount, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getKilometerSupportingFacilitiesCount_radius_3.json')

response = requests.post(getProjectPeripheryXBaoGaoCtr, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getProjectPeripheryXBaoGaoCtr_radius_3.json')

response = requests.post(getProjectZhouBianRfCtr, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getProjectZhouBianRfCtr_radius_3.json')

response = requests.post(getProjectKmListCtr, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getProjectKmListCtr_radius_3.json')

return BasicInformationCtr

except Exception as e:

print('getProjectRadius')

print(id)

print(path)

print(e)

def getLocationValueCtr(id, path, lon, lat):

url = "https://ytz.winshangdata.com/mapapi/api/project/getLocationValueCtr"

try:

formdata = {

"latitude": lat,

"longitude": lon,

"radius": radius,

}

urllib3.disable_warnings()

response = requests.post(url, json=formdata, headers=header, verify=False)

getLocationValueCtr = json.loads(response.text)

writeOneJSON(getLocationValueCtr, path + '\\' + str(id) + '_' + 'getLocationValueCtr_radius_3.json')

except Exception as e:

print('getLocationValueCtr')

print(id)

print(path)

print( e)

def getProject(id, path):

getYiQianYueList3_5_forYtz = "https://ytz.winshangdata.com/wsapi/project/getYiQianYueList3_5_forYtz"

coreRadiationScopeReport = "https://ytz.winshangdata.com/mapapi/api/project/coreRadiationScopeReport"

detailQianYueBrand3_6_forYtz = "https://ytz.winshangdata.com/wsapi/project/detailQianYueBrand3_6_forYtz"

getRadiationRangeCtr_url = "https://ytz.winshangdata.com/mapapi/api/project/getRadiationRangeCtr"

detailZhaoShangXuQiu = "https://ytz.winshangdata.com/wsapi/project/detailZhaoShangXuQiu"

try:

formdata = {

"floor": '',

"industryType_id": '1001',

"projectId": id,

}

urllib3.disable_warnings()

response = requests.post(getYiQianYueList3_5_forYtz, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getYiQianYueList3_5_forYtz.json')

formdata = {

"projectId": id,

}

response = requests.post(coreRadiationScopeReport, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'coreRadiationScopeReport.json')

response = requests.post(detailQianYueBrand3_6_forYtz, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'detailQianYueBrand3_6_forYtz.json')

response = requests.post(getRadiationRangeCtr_url, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'getRadiationRangeCtr_url.json')

response = requests.post(detailZhaoShangXuQiu, json=formdata, headers=header, verify=False)

data = json.loads(response.text)

writeOneJSON(data, path + '\\' + str(id) + '_' + 'detailZhaoShangXuQiu.json')

except Exception as e:

print('getProject')

print(id)

print(path)

print(e)

def mall():

project_china = pd.read_csv(project_url,encoding='gbk')

for index,project in project_china.iterrows():

project = project_china.loc[index]

projectId = str(project[0])

projectName = project[1]

path = save_url + projectName

path = path.strip()

path = path.rstrip("\\")

isExists = os.path.exists(path)

if not isExists:

os.makedirs(path)

BasicInformationCtr =getProjectRadius(projectId, path)

getProject(projectId, path)

if BasicInformationCtr:

if BasicInformationCtr['data']:

lon = BasicInformationCtr['data']['longitude']

lat = BasicInformationCtr['data']['latitude']

getLocationValueCtr(projectId, path,lon,lat,3)

# getLocationValueCtr(projectId, path,lon,lat,5)

else:

print('以下项目基本数据为空')

print(projectId)

print(projectName)

def project_analysis():

for n,projectIdName in project_name_id.iterrows():

projectIdName = project_name_id.loc[n+2419]

projectId = int(projectIdName[0])

projectName = projectIdName[1]

path = save_url + projectName

path = path.strip()

path = path.rstrip("\\")

isExists = os.path.exists(path)

if not isExists:

os.makedirs(path)

BasicInformationCtr =getProjectRadius(projectId, path)

getProject(projectId, path)

if BasicInformationCtr:

if BasicInformationCtr['data']:

lon = BasicInformationCtr['data']['longitude']

lat = BasicInformationCtr['data']['latitude']

getLocationValueCtr(projectId, path,lon,lat,3)

# getLocationValueCtr(projectId, path,lon,lat,5)

else:

print('以下项目基本数据为空')

print(projectId)

print(projectName)

if __name__ == "__main__":

save_url = 'D:\da\\'

project_url = 'D:\dcInfo.csv'

project_name_id = pd.read_csv(project_url,encoding='gbk',error_bad_lines=False)

project_analysis()

# CommercialDistrict()

报错如下:

C:\Users\ASUS\AppData\Local\Programs\Python\Python38\python.exe E:/PyCharm/code/myfirstPython.py

Traceback (most recent call last):

File "E:/PyCharm/code/myfirstPython.py", line 184, in

project_name_id = pd.read_csv(project_url,encoding='gbk',error_bad_lines=False)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 686, in read_csv

return _read(filepath_or_buffer, kwds)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 452, in _read

parser = TextFileReader(fp_or_buf, **kwds)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 936, in __init__

self._make_engine(self.engine)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 1168, in _make_engine

self._engine = CParserWrapper(self.f, **self.options)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 1981, in __init__

src = open(src, "rb")

FileNotFoundError: [Errno 2] No such file or directory: 'D:\\dcInfo.csv'

谢谢高手指教一下

我在D盘手动创建了一个 dclnfo.csv 文件,还是报错,如下:

C:\Users\ASUS\AppData\Local\Programs\Python\Python38\python.exe E:/PyCharm/code/myfirstPython.py

Traceback (most recent call last):

File "E:/PyCharm/code/myfirstPython.py", line 184, in

project_name_id = pd.read_csv(project_url,encoding='gbk',error_bad_lines=False)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 686, in read_csv

return _read(filepath_or_buffer, kwds)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 452, in _read

parser = TextFileReader(fp_or_buf, **kwds)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 936, in __init__

self._make_engine(self.engine)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 1168, in _make_engine

self._engine = CParserWrapper(self.f, **self.options)

File "C:\Users\ASUS\AppData\Local\Programs\Python\Python38\lib\site-packages\pandas\io\parsers.py", line 1998, in __init__

self._reader = parsers.TextReader(src, **kwds)

File "pandas\_libs\parsers.pyx", line 540, in pandas._libs.parsers.TextReader.__cinit__

pandas.errors.EmptyDataError: No columns to parse from file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值