代码要多敲 注释要清晰

其中区号没有拿取出来

看到的朋友可以作为练习

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

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. 10: Django + Uwsgi + Nginx 的生产环境部署

    1.1 一些重要概念 1.Web协议介绍 Web协议出现顺序: CGI -> FCGI -> WSGI -> uwsgi 1. CGI:  最早的协议 2. FCGI:  比CGI快 ...

  2. redis限流器的设计

    1.定义注解 import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java. ...

  3. unity DOTween Pro的使用--简化流程--自动播放

    当gameobject setActive(true)的时候自动播放动画 1) 添加DoTween Animation. 设置动画效果, 略 选中 AutoPlay, 取消 AutoKill 2) 在 ...

  4. Python3.5-20190530-unittest模块

    >>> dir(unittest) #所有的属性和方法 ['BaseTestSuite', 'FunctionTestCase', 'SkipTest', 'TestCase', ' ...

  5. 牛客网NOIP赛前集训营-提高组(第六场)B-选择题

    题目描述 有一道选择题,有 a,b,c,d 四个选项. 现在有 n 个人来做这题,第 i 个人有 pi,j 的概率选第 j 个选项. 定义\(cnt(x)\)为选第$ x $个选项的人数. 令\(mx ...

  6. JDBC简单总结

    几种常用数据库的JDBC URL 对于 Oracle 数据库连接,采用如下形式: jdbc:oracle:thin:@localhost:1521:sid 对于 SQLServer 数据库连接,采用如 ...

  7. vue中v-model详解

    vue中经常使用到<input>和<textarea>这类表单元素,vue对于这些元素的数据绑定和我们以前经常用的jQuery有些区别.vue使用v-model实现这些标签数据 ...

  8. Factory Methods

    The static factory method pattern is a way to encapsulate object creation. Without a factory method, ...

  9. Session过期,如何跳出iframe框架页的问题

    跳出框架页,实际上是更改父页面地址.那么更改父页面地址很简单即: window.parent.location='/Login/loginindex'; 这里说session过期,那么浏览器端的任何请 ...

  10. mock.js模拟生成假数据

    mock使用方法很简单, 下面是简单的用法, 详细的用法可以看官方文档, 写的很清楚, 下面的代码直接拷贝到本地html文件, 双击打开即可生成你想要的数据 <!DOCTYPE html> ...