Python抓取手机号归属地信息示例代码

 更新时间:2016年11月28日 11:44:36   作者:标点符  
之前看到一篇文章有提供手机号归属地数据库的下载,由于手机号号段一直在增加,所以提供的数据基本上随时会过期,更理想的方法是从网上定期抓取其他站点维护的经纬度信息。下面这篇文章就给大家介绍了如何利用Python抓取手机归属地信息,有需要的朋友们可以参考借鉴。

前言

本文给大家介绍的是利用Python抓取手机归属地信息,文中给出了详细的示例代码,相信对大家的理解和学习很有帮助,以下为Python代码,较为简单,供参考。

示例代码

# -*- coding:utf-8 -*-
import requests,re
o = open('data.txt','a')
e = open('error.txt','a')
baseUrl = 'http://www.iluohe.com/'
r = requests.get('http://www.iluohe.com/all.shtml',)
links = re.findall('<a href="(city/.*?/.*?)" target',r.content.decode("gbk").encode("utf-8"))
for link in links:
 link = baseUrl+link
 cityData = requests.get(link)
 if cityData.status_code >= 300 :
 e.writelines(link+"\n")
 else:
 cityData = cityData.content.decode("gbk").encode("utf-8")
 provinceTemp = re.findall('<div class="NameSzu"><a href=".*?">(.*?)</a></div>',cityData)
 if provinceTemp:
  province = provinceTemp[0]
  city = re.findall('<meta name="description" content="(.*?)共有',cityData)[0]
  tempData = re.findall('<div class="ab_menu.*?</span>(.*?) \(.*?</div>.*?<ul>(.*?)</ul>',cityData)
  for temp in tempData:
  carrier = temp[0]
  numbers = re.findall('">(.*?)</a></li>',temp[1])
  for number in numbers:
   text = number + "," + carrier + "," + city + "," + province
   o.writelines(text)
   o.writelines('\n')
 else:
  e.writelines(link+"\n")
o.close()
print "over!"

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

相关文章

  • python一行sql太长折成多行并且有多个参数的方法

    python一行sql太长折成多行并且有多个参数的方法

    今天小编就为大家分享一篇python一行sql太长折成多行并且有多个参数的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python 使用while循环输出*组成的菱形实例

    python 使用while循环输出*组成的菱形实例

    这篇文章主要介绍了python 使用while循环输出*组成的菱形实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • python解释器spython使用及原理解析

    python解释器spython使用及原理解析

    这篇文章主要介绍了python解释器spython使用及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python  inspect 模块的简单使用及常用方法

    Python  inspect 模块的简单使用及常用方法

    Python的inspect模块是一个强大的内省工具,允许开发者检查(inspect)活动对象和源代码,这篇文章主要介绍了Python inspect 模块的简单使用及常用方法,需要的朋友可以参考下
    2024-03-03
  • Python中bisect模块与堆操作详解

    Python中bisect模块与堆操作详解

    在Python中,bisect和heapq都是处理有序序列的常见模块,这篇文章将分别介绍这两个模块的用法和实现方式,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-06-06
  • keras多显卡训练方式

    keras多显卡训练方式

    这篇文章主要介绍了keras多显卡训练方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • 基于TensorFlow中自定义梯度的2种方式

    基于TensorFlow中自定义梯度的2种方式

    今天小编就为大家分享一篇基于TensorFlow中自定义梯度的2种方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • pytorch神经网络从零开始实现多层感知机

    pytorch神经网络从零开始实现多层感知机

    这篇文章主要为大家介绍了pytorch神经网络从零开始实现多层感知机的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-10-10
  • Python获取系统所有进程PID及进程名称的方法示例

    Python获取系统所有进程PID及进程名称的方法示例

    这篇文章主要介绍了Python获取系统所有进程PID及进程名称的方法,涉及Python使用psutil对系统进程进行操作的相关实现技巧,需要的朋友可以参考下
    2018-05-05
  • Python3操作读写CSV文件使用包过程解析

    Python3操作读写CSV文件使用包过程解析

    这篇文章主要介绍了Python3操作CSV文件使用包过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论