【求助】python爬取银行卡归属地结果重复问题

不丁 2019-11-27 05:03:23
我想批量查询以下银行卡的归属地,银行卡存放于txt文档中,使用下列的代码跑出的结果为第一个银行卡的循环重复,想知道问题出在什么地方?
谢谢!

查询列表:
6214570681008893222
6228460020002141112
621488182001134
62148808611642311
6222080200030312345

错误的结果:
银行卡号 归属信息 银行名称 银行卡名 银行卡种 客服电话 官方网址
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn
/6212881804000950232 湖北省-襄樊 中国工商银行(01020000) 工银财富卡 借记卡 95588 www.icbc.com.cn



代码:
# -*- coding: utf-8 -*-

import requests

from bs4 import BeautifulSoup
import urllib.parse
import time

timeout = 5
socket.setdefaulttimeout(timeout)


def caiji2(i):

url='http://bank.55cha.com/'+str(i)+'.html'

#结果
html = req.text

try:

soup =BeautifulSoup(html)
list2=soup.find_all('div', class_ = 'mcon f14 noi')
list2
ss=list2[0].get_text()
ss=ss.replace(' ','')
ss=ss.replace('\r','')

ss=ss.replace('银行卡号:','/')
ss=ss.replace('归属信息:','')
ss=ss.replace('银行名称:',',')
ss=ss.replace('银行卡名:','')
ss=ss.replace('银行卡种:',',')
ss=ss.replace('客服电话:',',')
ss=ss.replace('官方网址:',',')
"""
"""
gs=ss.split('\n') # 获取有效信息

if len(gs)>=6:
f2.write(','.join(gs[3:6])+'\n')
else:
f3.write('查询不到:'+str(gs[1])+'\n')

except:
pass
return

if __name__=='__main__':

f1=open('D:\guishudi\卡号归属\kahaoguishu.txt','r')
f2=open('D:\guishudi\卡号归属\kahaoguishu20191127.csv','a+')
f2.write('银行卡号,归属信息,银行名称,银行卡名,银行卡种,客服电话,官方网址\n')
f2.close()
lt=f1.read().splitlines()
a=0
for i in list(lt):
f2=open('D:\guishudi\卡号归属\kahaoguishu20191127.csv','a+')
f3=open('D:\guishudi\卡号归属\kahaoguishu20191127_error.csv','a+')
caiji2(i)

a=a+1
print(a)
f2.close()
f3.close()
f1.close()
...全文
345 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
CJdamaimantou 2020-07-06
  • 打赏
  • 举报
回复
运行代码后出现NameError: name 'socket' is not defined,请问这是什么原因?
不丁 2019-11-28
  • 打赏
  • 举报
回复
引用 2 楼 dabingsou 的回复:
你跟踪下,是每次传的参数相同,还是参数不同但请求页面返回了相同数据
解决了,是请求页面的问题。
dabingsou 2019-11-28
  • 打赏
  • 举报
回复
你跟踪下,是每次传的参数相同,还是参数不同但请求页面返回了相同数据
jmzl 2019-11-27
  • 打赏
  • 举报
回复
查询的代码封装在一个函数里面,入口参数为卡号,返回值为查询到的内容

37,722

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧