循环读取文件

接口服务网站的接口服务通常只能查询一条,那么如何批量调用呢?

网站的查询代码如下:

#coding=utf-8
#!/usr/bin/python
 
# 接口请求示例为:http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword=企业名称&pageNum=1
 
# pip install requests
import requests
import time
import hashlib
import json
 
# token可以从数据中心 -> 我的接口中获取
token = "您的token"
encode = 'utf-8'
 
url ="http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword=名称&pageNum=1"
headers={'Authorization': token}
response = requests.get(url,headers=headers)
 
#结果打印
print(response.status_code)
print(response.text)

但只能查询一家,如果我们有大量的数据,就需要改写python脚本来实现

批量查询代码如下:

# pip install requests
import requests
import time
import hashlib
import json
 
 
def main():
 
   with open("文件目录/文件.txt", "r+", encoding="UTF-8") as file:
       for i in file.readlines():
 
         token = "你自己的token"
         encode = 'utf-8'
         i = i[:-1]
 
         url = "http://open.api.tianyancha.com/services/open/mr/abnormal/2.0?pageSize=20&keyword="+str(i)+"&pageNum=1"
         headers = {'Authorization': token}
         response = requests.get(url, headers=headers)
 
         # 结果打印
         print(i)
         print(response.status_code)
         print(i,response.text)
 
 
 
if __name__ == '__main__':
    main()

上面的代码中为txt文件,每个名称(代码中的keyword)为一行

代码中使用readlines()的方法来循环读取文件的每一行,并把每一行读出来的数据定义为了i

但是在python中读取文本类型文件时,在每一行的末尾都会有换行符。这个时候就不能够用python内的转义字符将其给去除掉了,因为它实际上是以一种特殊的不显示的形式存在,需要使用字符串切片的方式才可以将其给去除掉,如果不做以上的处理,str(i)拼接在url中会出现有换行的情况,导致本该有经营异常信息的也查询不出信息了,处理i(名称信息)的方式为:i = i[:-1]

这样就能将关键字有效的拼接在调用接口的url中并批量查询了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值