爬虫小进阶——selenium

继续练手,写了一个已知地理位置爬经纬度的代码,用selenium模拟操作浏览器。

编程环境:py3

假定地理位置的读取与写入均在excel中进行

当数据量较大时需要调openpyxl而不是xlwt来写入数据:

import xlrd
from openpyxl import Workbook
from selenium import webdriver
import time

先将所有地理位置读入一个list中:

def get_location(sql_results,exam_num):    #获得所有地址
    location = []
    for i in range(exam_num):
        value = sql_results.cell_value(i+2,8)
        if value in location:
            continue
        else:
            location.append(value)
    return location

查询经纬度使用网站:http://www.gpsspg.com/maps.htm

由于使用的是chrome浏览器,所以先下载了一个ChromeDriver并复制到python3的安装目录中。

selenium提供了很多寻找标签的方法,类似于BeautifulSoup寻找tag,但更为直观简便。

若已知id可以使用find_element_by_id,这帮助我们寻找到文本框(使用.send_keys将文字送入文本框)、按钮(.click()模拟点击按钮)。

也可使用find_element_by_xpath("********").get_attribute("****")获取标签中的其它属性。此例中可通过"style"属性判断地址是否有效,而selenium中并不存在find_element_by_style这样的命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值