Python爬取手机号码前7位号段归属地及运营商

这篇博客分享了作者使用Python进行手机号码前7位号段归属地及运营商爬取的过程,包括所需库的安装、设置HTTP请求头、解析网页内容、处理查询结果等步骤,旨在记录学习经历并帮助有类似需求的读者。
摘要由CSDN通过智能技术生成

最近刚好因为工作需要,边学边实践了爬取手机号码前7位号段归属地及运营商,感觉还是挺有用,特地拿来分享一下。

我爬取的网址是:http://www.ip138.com:8080/search.asp?mobile=
界面是这样的
在这里插入图片描述

我发现输入一个号段查询之后的网址是这样:http://www.ip138.com:8080/search.asp?mobile=1772798&action=mobile
就是http://www.ip138.com:8080/search.asp?mobile=+号段+&action=mobile
查询结果如下
在这里插入图片描述
下面就开始写爬虫代码啦!

1.引用一些需要的包,如果没安装的要先pip install一下这些包哦;

# -*- coding: utf-8 -*-
import re
import bs4
import urllib.request  
from bs4 import BeautifulSoup 
import urllib.parse
import sys
import time
import socket
import os

2.建立一个要存储爬虫结果的文件;

#进入工作目录
os.chdir('C:\\Users\\Administrator\Desktop')
os.getcwd()
file=open(r"号段结果.txt",'w')

3.打开你要查询的号段文档;

f = open(r"查询号段.txt")

4.设置超过时间;

socket.setdefaulttimeout(30)

5.防止反爬虫,构造合理的HTTP请求头;这个是根据每个人的浏览器不同设置的,可以查看自己的浏览器。打开浏览器,按F12,选取Network,按F5刷新一下,点开Name下面随便一个文档就可以看到User-Agent。
在这里插入图片描述

headers = {
   "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36"}

6.按行读取查询文档内容;

search_item = f.readline()
	#如果读取完了就退出
    if not search_item:
        print("Finished")
        break

7.抓取网页信息;

url = 'http://www.ip138.com:8080/search.asp?mobile='+urllib.parse.quote(search_item)+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值