python爬取手机号段(电信199号段)

# -*- coding: GBK -*-

"""
    爬取手机号段归属地
"""

import time

import requests
from lxml import etree

time_start = time.time()  # 程序开始时间
url = 'http://www.ip138.com:8080/search.asp?'
param = {'action': 'mobile', 'mobile': '1990012'}

file = open("C:\\Users\\yang\\Desktop\\phoneNumber.txt", "a+", encoding='utf-8')
for n1 in range(0, 10):
    for n2 in range(0, 10):
        for n3 in range(0, 10):
            for n4 in range(0, 10):
                print("!!!n1: "+str(n1)+" n2: "+str(n2)+" n3: "+str(n3)+" n4: " + str(n4))
                param['mobile'] = '199'+str(n1)+str(n2)+str(n3)+str(n4)
                rq = requests.get(url, param)
                rq.encoding = 'GBK'
                page = etree.HTML(rq.text)
                hs = page.xpath('/html/body/table/tr/td[@class="tdc2"]')
                sum = 0
                while hs[1].text is None:
                    rq = requests.get(url, param)
                    rq.encoding = 'GBK'
                    page = etree.HTML(rq.text)
                    hs = page.xpath('/html/body/table/tr/td[@class="tdc2"]')
                    sum += 1
                    if hs is not None:
                        break
                    if sum == 20:
                        break
                if hs[1].text is not None and hs[1].text is not '未知' and hs[1].text is not '':
                    resultStr = param['mobile'] + " " + hs[1].text.strip()+"\n"
                    file.write(resultStr)
file.close()
time_end = time.time()  # 程序结束时间
print('\r程序运行时间:', time_end - time_start)

数据下载址:
https://download.csdn.net/download/qq_41228463/10470817

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

适当喝点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值