python手机号信息查询身份证_Python使用xpath爬虫查询身份证信息和手机号信息并写入Excel表格...
一.這個程序在網上還是有很多范例的,所以我就將大家的總結一下,然后形成自己的小程序,廢話少說,上代碼
import time
import requests
from lxml import etree # xpath模塊
import pandas as pd # 寫入Excel模塊
# 獲取身份信息
def main():
time1 = time.time()
# 將要獲取的身份證號
df = pd.read_csv('C:/Users/admin/Desktop/shen.txt', sep='\t', header=None, dtype=str, na_filter=False) # 打開存放身份證號的txt文件
print(df)
idcard1=[] # 身份證列表
gender1 = [] # 性別列表
birthday1 = [] # 生日列表
address1 = [] # 地址列表
# 循環獲取身份證信息
for i in range(0,len(df)):
try:
if len(df.iloc[i,0]) == 18:
print(df.iloc[i,0]) # 獲取每行的身份證號
idcard1.append(df.iloc[i,0]) # 記錄身份證號
url="http://qq.ip138.com/idsearch/index.asp?action=idcard&userid="+df.iloc[i,0]+"&B1=%B2%E9+%D1%AF" # 發起請求
html=requests.get(url).content # 接受返回值
selector=etree.HTML(html) # 處理返回值
sex=selector.xpath('//td[@class="tdc2"][1]/text()') # 匹配指定元素
print(sex[0]) # 性別
print(sex[1]) # 生日
print(sex[-1]) # 地址
gender1.append(sex[0])
birthday1.append(sex[1])
address1.append(sex[-1])
else:
idcard1.append(df.iloc[i, 0])
gender1.append("空")
birthday1.append("空")
address1.append("空")
except Exception as e:
print(e)
# 計算爬蟲時間
time2 = time.time()
print('爬蟲結束!總共耗時:' + str(time2 - time1) + 's')
# 寫入表格
time3 = time.time()
data = pd.DataFrame({'id': idcard1,'grender': gender1,'birthday': birthday1,'address': address1})
pd.DataFrame.to_excel(data, "D:\\1.xls", header=True, encoding='gbk', index=False)
time4 = time.time()
print("寫入表格完成!總共耗時:" + str(time4 - time3) + "s")
# 獲取手機號信息
def main2():
time1 = time.time()
# 將要獲取的身份證號
df = pd.read_csv('C:/Users/admin/Desktop/shouji.txt', sep='\t', header=None, dtype=str, na_filter=False) # 打開存放身份證號的txt文件
print(df)
phone1=[] # 手機號列表
address1 = [] # 地址列表
# 循環獲取身份證信息
for i in range(0,len(df)):
try:
if len(df.iloc[i,0]) == 15:
print(df.iloc[i,0][-11:]) # 獲取每行的身份證號
phone1.append(df.iloc[i,0]) # 記錄身份證號
url = "http://www.ip138.com:8080/search.asp?mobile="+df.iloc[i,0][-11:]+"&action=mobile" # 發起請求
html=requests.get(url).content # 接受返回值
selector=etree.HTML(html) # 處理返回值
sex=selector.xpath('//tr[@class="tdc"][2]/td[@class="tdc2"]/text()') # 匹配指定元素
for i in sex:
print(i)
address1.append(i)
else:
phone1.append(df.iloc[i, 0])
address1.append("空")
except Exception as e:
print(e)
# 計算爬蟲時間
time2 = time.time()
print('爬蟲結束!總共耗時:' + str(time2 - time1) + 's')
# 寫入表格
time3 = time.time()
data = pd.DataFrame({'id': phone1,'address': address1})
pd.DataFrame.to_excel(data, "D:\\1.xls", header=True, encoding='gbk', index=False)
time4 = time.time()
print("寫入表格完成!總共耗時:" + str(time4 - time3) + "s")
# 主函數入口
if __name__ == '__main__':
main()
總結:
1.在這次過程中,遇到的問題就是如何使用xpath匹配元素,由于太長時間沒有使用xpath了,所以有點不太會用了,百度一下,需要下載一個插件
2.在運行程序中,需要安裝需要的模塊,Xpath和Excel模塊
二.xpath安裝步驟
1.下載xpath插件
xpath鏈接:https://pan.baidu.com/s/1dFgzBSd 密碼:zwvb,感謝這位網友,我從這拿到了。
2.在谷歌瀏覽器中“更多工具”找到這個“擴展程序”選項菜單,進入其中
3.進入到擴展插件的界面,把下載好的離線xpath插件
拖到這個擴展界面,他就會有提示,松開鼠標直接安裝即可。安裝成功之后重啟一下谷歌瀏覽器即可
4.使用快捷鍵ctrl+shift+x調出xpath。
總結
以上是生活随笔為你收集整理的python手机号信息查询身份证_Python使用xpath爬虫查询身份证信息和手机号信息并写入Excel表格...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qq怎样发起临时会话(不加好友)
- 下一篇: 陆振波的SVM