代码要多敲 注释要清晰
其中区号没有拿取出来
看到的朋友可以作为练习
,有好的方法可以在下面留言
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> \'\'\'