python 爬取媒体文件(使用chrome代理,启动客户端,有防火墙)
#coding = utf-8 ''' 中文转经纬度 ''' import time,json import urllib.request from selenium import webdriver from bs4 import BeautifulSoup import pandas as pd import numpy as np AK ='C2hKkyF9fHbmzESq6dmSArZIzw8wEiS1' table = pd.read_csv('./data/test.csv',encoding='utf-8') outfp = open('./data/result_test.csv','w',encoding='utf-8') class LoadData: def __init__(self): print("start") self.m_driver = webdriver.Chrome('D:\Program Files (x86)\ChromeDriver\chromedriver.exe') self.loc_result = [] def get_uri(self, addr, city = ''): # try: server = 'http://api.map.baidu.com/geocoder/v2/?' params = urllib.parse.urlencode({'address':addr,'city':city,'ak':AK,'output':'json'}) self.m_driver.get(server+params) bs = BeautifulSoup(self.m_driver.page_source,'lxml') # temp = bs.prefix result = json.loads(bs.pre.get_text())['result'] location = result.get('location') if( location != None ): lng = location.get('lng') lat = location.get('lat') return lng,lat # except: # print("error addr:",addr) # return np.NAN,np.NAN def get_lng_lat(self, addr): lng,lat = self.get_uri(addr) if((lng == None) or (lat == None)): print("error") self.loc_result.append([addr,lng,lat]) def main(self): addr_list = table['ADDRESS'].tolist() [self.get_lng_lat(addr) for addr in addr_list] outfp.write(str(self.loc_result)) if __name__ == '__main__': tStart = time.clock() LD = LoadData() LD.main() tEnd = time.clock() print("%s s"%(tEnd - tStart))
附录:
chromdriver.exe与chrome版本映射及下载链接
https://blog.csdn.net/mmayanshuo/article/details/78962398
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2018-05-11 spass按位置编码,进行排序题处理与分析