selenium,webdriver,xpath获取全国各地的邮编
代码要多敲 注释要清晰
其中区号没有拿取出来
看到的朋友可以作为练习
,有好的方法可以在下面留言
from selenium import webdriver
from lxml import etree
import time
#接口分析
# base_url = 'http://www.ip138.com/post/'
# base_url = 'http://www.ip138.com/51/'
#生成浏览器
driver = webdriver.PhantomJS() #拿取邮编信息函数
def youbian(num):
#各地的接口url地址
base_url = 'http://www.ip138.com/%s/'%(num)
#访问
driver.get(base_url)
#把页面生成树结构
tree = etree.HTML(driver.page_source)
#用xpath拿取想要的数据
trs = tree.xpath('//table[@class="t12"]/tbody/tr[@bgcolor="#ffffff"]')
for tr in trs:
#地区和邮编的拿取
diqu = tr.xpath('.//b')
if diqu != []:
diqu = diqu[0].text
number = tr.xpath('.//td/a')
number = number[1].text else:
diqu = tr.xpath('.//td')[0].text
number = tr.xpath('.//td/a')
number = number[0].text #打印出想要的结果
print(diqu,'邮编:' + number) #主进程
if __name__ == '__main__':
#各地的接口号
num = [
10,30,50,3,1,11,13,15,20,21,31,23,35,33,25,
45,43,41,51,53,57,40,61,55,65,85,71,73,81,75,83
]
#遍历接口号 一个一个的传输
for n in num:
youbian(n) '''
树结构分析
tr:市区
<tr bgcolor="#ffffff">
<td>
<a href="guangzhou/">
<b>广州市</b>
</a>
</td> <td>
<a href="/510000/">510000</a>
</td> <td>
<a href="/020/">020</a>
</td> <td colspan="3"> </td>
</tr> #地区
<tr bgcolor="#ffffff">
<td>通县</td>
<td>
<a href="/101100/">101100</a>
</td> <td>
<a href="/010/">010</a>
</td>
</tr>
'''
selenium,webdriver,xpath获取全国各地的邮编的更多相关文章
- selenium webdriver XPath的定位方法练习 !
html 代码: <html> <body> <div id="div1"> <input name="divl1input& ...
- selenium webdriver——XPath 定位
baidu.html代码如下 ....<form id="form" class="fm" action="/s" name=&quo ...
- Selenium Webdriver——Xpath轴定位(preceding)
1.preceding-sibling 选取当前节点之前的所有同级节点 text=出发之前的同级节点: 2.preceding 选取当前节点开始标签之前的所有节点 text=出发节点标签之前的所有i ...
- Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...
- (java)selenium webdriver学习,选择模块,点击下一页,获取当前url
selenium webdriver学习,选择模块,点击下一页,获取当前url 查找下一页有多种方法,这里列举两种: isSelected()函数用于判断是否点击选中,返回Boolean类型 impo ...
- selenium webdriver 右键另存为下载文件(结合robot and autoIt)
首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...
- Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)
研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...
- Selenium WebDriver 处理table
首先,html table是由 table 元素以及一个或多个 tr.th 或 td 元素组成. for example: 这是一个简单的html table: 源码如下: <html> ...
- Selenium WebDriver 处理cookie
在使用webdriver测试中,很多地方都使用登陆,cookie能够实现不必再次输入用户名密码进行登陆. 首先了解一下Java Cookie类的一些方法. 在jsp中处理cookie数据的常用方法: ...
随机推荐
- 10: Django + Uwsgi + Nginx 的生产环境部署
1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI: 最早的协议 2. FCGI: 比CGI快 ...
- redis限流器的设计
1.定义注解 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java. ...
- unity DOTween Pro的使用--简化流程--自动播放
当gameobject setActive(true)的时候自动播放动画 1) 添加DoTween Animation. 设置动画效果, 略 选中 AutoPlay, 取消 AutoKill 2) 在 ...
- Python3.5-20190530-unittest模块
>>> dir(unittest) #所有的属性和方法 ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', ' ...
- 牛客网NOIP赛前集训营-提高组(第六场)B-选择题
题目描述 有一道选择题,有 a,b,c,d 四个选项. 现在有 n 个人来做这题,第 i 个人有 pi,j 的概率选第 j 个选项. 定义\(cnt(x)\)为选第$ x $个选项的人数. 令\(mx ...
- JDBC简单总结
几种常用数据库的JDBC URL 对于 Oracle 数据库连接,采用如下形式: jdbc:oracle:thin:@localhost:1521:sid 对于 SQLServer 数据库连接,采用如 ...
- vue中v-model详解
vue中经常使用到<input>和<textarea>这类表单元素,vue对于这些元素的数据绑定和我们以前经常用的jQuery有些区别.vue使用v-model实现这些标签数据 ...
- Factory Methods
The static factory method pattern is a way to encapsulate object creation. Without a factory method, ...
- Session过期,如何跳出iframe框架页的问题
跳出框架页,实际上是更改父页面地址.那么更改父页面地址很简单即: window.parent.location='/Login/loginindex'; 这里说session过期,那么浏览器端的任何请 ...
- mock.js模拟生成假数据
mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...