在python上导入文本文件



我的问题可能早些时候问过,但我为之工作的场景没有得到任何帮助。

尝试了不同的方法和事情,但仍然没有运气,任何帮助都将不胜感激

问题

我正在尝试从URL加载文本文件https://www.sec.gov/Archives/edgar/cik-lookup-data.txt,这样我就可以修改数据并创建一个数据帧。

示例:-来自链接的数据

1188百老汇LLC:00001372374:

119博伊斯,LLC:00001633290:

11900 EAST ARTESIA BOULEVARD,LLC:00001639215:

哈兰道11900号LLC:00001398414:

11:11资本公司:0001463262:

我应该得到低于输出

Name                              | number 
1188 BROADWAY LLC                 | 0001372374 
119 BOISE, LLC                    | 0001633290 
11900 EAST ARTESIA BOULEVARD, LLC | 0001639215 
11900 HARLAN ROAD LLC             | 0001398414 
11:11 CAPITAL CORP.               | 0001463262

我在加载文本文件时遇到了第一个问题,我一直在获取403 url HTTPError:HTTP错误403:禁止

使用的参考:

  1. 给定文本文件的URL,读取文本文件内容的最简单方法是什么
  2. Python请求。403禁止

我的代码:-

import urllib.request  # the lib that handles the url stuff
data = urllib.request.urlopen("https://www.sec.gov/Archives/edgar/cik-lookup-data.txt") # it's a file like object and works just like a file
for line in data: # files are iterable
print (line)

返回的错误消息显示:

您的请求已被识别为自动化网络的一部分可接受策略之外的工具,并且将被管理,直到已采取行动申报您的流量。请申报您的通过更新用户代理以包含特定公司的流量信息

您可以按如下方式解决此问题:

import urllib
url = "https://www.sec.gov/Archives/edgar/cik-lookup-data.txt"
hdr = {'User-Agent': 'Your Company Name admin@domain.com'} #change as needed
req = urllib.request.Request(url, headers=hdr) 
data = urllib.request.urlopen(req, timeout=60).read().splitlines()
>>> data[:10]
[b'!J INC:0001438823:',
b'#1 A LIFESAFER HOLDINGS, INC.:0001509607:',
b'#1 ARIZONA DISCOUNT PROPERTIES LLC:0001457512:',
b'#1 PAINTBALL CORP:0001433777:',
b'$ LLC:0001427189:',
b'$AVY, INC.:0001655250:',
b'& S MEDIA GROUP LLC:0001447162:',
b'&TV COMMUNICATIONS INC.:0001479357:',
b'&VEST DOMESTIC FUND II KPIV, L.P.:0001802417:',
b'&VEST DOMESTIC FUND II LP:0001800903:']

这是不允许的,所以您得到的response_code=403。在抓取任何网页时,最好检查robots.txt文件。robots.txt文件告诉搜索引擎爬虫可以在您的网站上访问哪些URL。这主要是为了避免您的网站因请求而过载;然而,它并不是一种阻止网页进入谷歌的机制。

在您的情况下,它是https://www.sec.gov/robots.txt

最新更新