Pandas 为什么不是所有的坐标都是在运行Geopy刮黄页时生成的?

Pandas 为什么不是所有的坐标都是在运行Geopy刮黄页时生成的?,pandas,web-scraping,geopandas,geopy,nominatim,Pandas,Web Scraping,Geopandas,Geopy,Nominatim,输出是一个csv文件,包含企业列表,包括名称、地址、电话和坐标,由于某些原因,仅生成部分坐标,未生成并使用geopy在一次运行中运行的将找到坐标,因此,geopy可能会找到所有的坐标,但由于某些原因,它有时会跳过,我认为调用api和添加线程可能需要一些时间,但它没有解决问题 导入请求 从bs4导入BeautifulSoup 作为pd进口熊猫 导入时间 导入线程 从geopy.geocoders导入提名 地理定位器=提名(用户\代理=”ypscraper@gmail.com") 主列表=[] d

输出是一个csv文件,包含企业列表,包括名称、地址、电话和坐标,由于某些原因,仅生成部分坐标,未生成并使用geopy在一次运行中运行的将找到坐标,因此,geopy可能会找到所有的坐标,但由于某些原因,它有时会跳过,我认为调用api和添加线程可能需要一些时间,但它没有解决问题


导入请求
从bs4导入BeautifulSoup
作为pd进口熊猫
导入时间
导入线程
从geopy.geocoders导入提名
地理定位器=提名(用户\代理=”ypscraper@gmail.com")
主列表=[]
def提取(url):
headers={'User-Agent':'Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/89.0.4389.114 Safari/537.36'}
r=requests.get(url,headers=headers)
soup=BeautifulSoup(r.content'html.parser')
return soup.find_all('div',class_uu='listing_uucontent_uuwrap--flexed jsGoToMp'))
def转换(文章):
对于第条中的项目:
name=item.find('a',class='listing.\u name--link listing.\u link jsListingName')。text
尝试:
street=item.find('span',{'itemprop':'streetAddress'}).text
除:
街道=“”
尝试:
city=item.find('span',{'itemprop':'addressLocality'}).text
除:
城市=“”
尝试:
province=item.find('span',{'itemprop':'addressRegion'}).text
除:
省=“”
尝试:
postCode=item.find('span',{'itemprop':'postalCode'})。text
除:
邮政编码=“”
尝试:
phone=item.find('li',class='mlr\uuuuuu子菜单\uuuuu项')。text.strip()
除:
电话=“”
尝试:
def search_geo():
全球定位
位置=地理定位器。地理编码(街道+“”+城市)
印刷品(街道+“”+城市)
线程=线程。线程(目标=搜索)
thread.start()
thread.join()
slatitude=位置。纬度
除:
slatitude=''
尝试:
线程=线程。线程(目标=搜索)
thread.start()
thread.join()
slongitude=location.longitude
除:
slongitude=''
业务={
“名称”:名称,
"街":街,,
“城市”:城市,
“省”:省,
“邮政编码”:邮政编码,
“电话”:电话,
“slongitude”:slongitude,
“斯莱提德”:斯莱提德
}
主列表。附加(业务)
返回
def load():
df=pd.DataFrame(主列表)
df.to_csv('repairshopsbc',index=False)
对于范围(1,2)内的x:
打印(f'获取页面{x}')
文章=摘录(f'https://www.yellowpages.ca/search/si/{x} /汽车+维修/不列颠+哥伦比亚+BC')
转化(文章)
时间。睡眠(5)
加载()
打印('保存到CSV')

请修复缩进,到目前为止,您的问题格式不正确对不起,谢谢您让我知道,我已经修复了。