代码要多敲 注释要清晰

其中区号没有拿取出来

看到的朋友可以作为练习

,有好的方法可以在下面留言

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">&nbsp;</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获取全国各地的邮编的更多相关文章

  1. selenium webdriver XPath的定位方法练习 !

    html  代码: <html> <body> <div id="div1"> <input name="divl1input& ...

  2. selenium webdriver——XPath 定位

    baidu.html代码如下 ....<form id="form" class="fm" action="/s" name=&quo ...

  3. Selenium Webdriver——Xpath轴定位(preceding)

     1.preceding-sibling 选取当前节点之前的所有同级节点 text=出发之前的同级节点: 2.preceding 选取当前节点开始标签之前的所有节点 text=出发节点标签之前的所有i ...

  4. Python3 Selenium WebDriver网页的前进、后退、刷新、最大化、获取窗口位置、设置窗口大小、获取页面title、获取网页源码、获取Url等基本操作

    Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdr ...

  5. (java)selenium webdriver学习,选择模块,点击下一页,获取当前url

    selenium webdriver学习,选择模块,点击下一页,获取当前url 查找下一页有多种方法,这里列举两种: isSelected()函数用于判断是否点击选中,返回Boolean类型 impo ...

  6. selenium webdriver 右键另存为下载文件(结合robot and autoIt)

    首先感谢Lakshay Sharma 大神的指导 最近一直在研究selenium webdriver右键菜单,发现selenium webdriver 无法操作浏览器右键菜单,如图 如果我想右键另存为 ...

  7. Selenium的PO模式(Page Object Model)|(Selenium Webdriver For Python)

            研究Selenium + python 自动化测试有近两个月了,不能说非常熟练,起码对selenium自动化的执行有了深入的认识. 从最初无结构的代码,到类的使用,方法封装,从原始函数 ...

  8. Selenium WebDriver 处理table

    首先,html table是由 table 元素以及一个或多个 tr.th 或 td 元素组成. for example: 这是一个简单的html table: 源码如下: <html> ...

  9. Selenium WebDriver 处理cookie

    在使用webdriver测试中,很多地方都使用登陆,cookie能够实现不必再次输入用户名密码进行登陆. 首先了解一下Java Cookie类的一些方法. 在jsp中处理cookie数据的常用方法: ...

随机推荐

  1. Codeforces 1082D (贪心)

    题面 传送门 分析 贪心 将度限制大于1的点连成一条链,然后将度限制等于1的点挂上去 形状如下图,其中(1,2,3)为度数限制>1的点 显然直径长度=(度数限制>1的节点个数)-1+min ...

  2. Oracle 汉字占用字节数

    在oracle中一个字符特别是中文字符占几个字节是与字符集有关的.      比如GBK,汉字就会占两个字节,英文1个:如果是UTF-8,汉字一般占3个字节,英文还是1个.但是一般情况下,我们都认为是 ...

  3. 左侧菜单收缩的实现(包括,筛选器,addclass、removeclass、绑定事件,链式编程)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. mysql数据库操作指令汇总

    1.mysql -u root -p 登录数据库 2.表结构相同两表数据对拷 insert into A select * from B(插入全部字段数据)   insert into A(字段1.字 ...

  5. mpvue中的平台状态判断(H5网页 or 小程序)

    在开发微信小程序或者微信网页H5的时候,有时我们利用外部组件可能不兼容这两者,需要区分开来,可以在对应的mainjs中配置如下 let platform: try{ if(wx){ platform= ...

  6. rabbitMQ实现推迟队列

    一. 使用原生Api 1.RabbitMQ 相关 <dependency> <groupId>com.rabbitmq</groupId> <artifact ...

  7. macos Item2 添加 Shell Integration (ftp传输)

    macos系统 的item2软件 的  Shell Integration (ftp传输)  功能强大,无需 安装其他ftp软件,也是为了保证 密码安全 在使用时报错如下(因为本地 ping不通): ...

  8. MySQL04-- 版本区别及管理

    目录 MySQL版本区别及管理 一.MySQL5.6与MySQL5.7安装的区别 二.MySQL用户权限管理 三.MySQL连接管理 四.MySQL启动关闭流程 五.MySQL实例初始化配置 六.My ...

  9. Shell03---流程控制

    目录 Shell03---流程控制 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 3. 流程控制语句if整数比较 4. 流程控制语句if字符比较 5. 流程控制语句if正则比较 6. ...

  10. Linux重定向命令(stdout, stdin, stderr)

    ls -l /usr/bin > ls-output.txt 将输出结果重定向到 ls-output.txt 文件.注意:再次使用> ls-output.txt会默认覆盖源文件.如果要追加 ...