利用webdriver.Chrome爬取澳大利亚城市的经纬度信息

import time
from selenium import webdriver
import pandas as pd
import numpy as np

# 调用谷歌浏览器
driver = webdriver.Chrome()
time0 = time.time()  # 计时开始

# 循环
for num, city in enumerate(cityname):
    driver.get('https://www.google.co.uk/webhp?hl=en&sa=X&ved=0ahUKEwimtcX24cTfAhUJE7wKHVkWB5AQPAgH')

    
    time.sleep(0.3)  # 停留0.3秒
    search_box = driver.find_element_by_name('q')  # 锁定搜索框
#     search_box.send_keys('中南财经政法大学')
    search_box.send_keys('%s Australia Latitude and longitude' % (city))  # 在输入框中输入城市 澳大利亚 经度和纬度
    search_box.submit()  # enter 搜索
    
    result = driver.find_element_by_xpath('//div[@class="Z0LcW XcVN5d"]').text  # 提取经纬度
    result_city = driver.find_element_by_xpath('//span[@class="GzssTd"]/span').text
#     print(result_city, result)
    
    resultsplit = result.split(" ")
    print(resultsplit)
    df.loc[num, 'City'] = city  # 第一列:城市名
    df.loc[num, 'Latitude'] = resultsplit[0]  # 第二列:纬度
    df.loc[num, 'Longitude'] = resultsplit[1][0]  # 第三列:经度
    df.loc[num, 'Latitudedir'] = resultsplit[2]  # 第四列:纬度的方向
    df.loc[num, 'Longitudedir'] = resultsplit[3]  # 第五烈:经度的方向
    
    
    print('%i webcrawler successful for city %s, web_city is %s' % (num + 1, city, result_city))
    
time.sleep(1)  # 全部爬取完成,休息1秒
driver.quit()  # 关闭浏览器
print(time.time() - time0)
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值