【发布时间】:2018-12-10 19:38:57
【问题描述】:
我有一个 URL 列表,其中一些现在不起作用。我想解析该列表并获取这些 URL 的返回代码并将它们存储在数据框中。 我有以下代码:
for url in df['URL'][]:
print(url)
try:
#print(urllib2.urlopen(url).getcode())
df['returncode']=urllib2.urlopen(url).getcode()
except:
df['returncode']='Obsolete'
#print('obsolete')
我得到的是所有“过时”的列。
df['returncode']:
0 Obsolete
1 Obsolete
2 Obsolete
3 Obsolete
4 Obsolete
5 Obsolete
6 Obsolete
7 Obsolete
8 Obsolete
9 Obsolete
10 Obsolete
11 Obsolete
而如果我打印这些值,我可以看到不同的返回码。
http://study.com/odfv.html
obsolete
http://www.meghansfashion.com/uploads/2/1/2/9/21295692/2_75_orig.png
200
http://p16.muscdn.com/img/tos-maliva-p-0068/8ab65f6aac844cdf83526b5662720be3~c5_300x400.jpeg
200
http://config.88-f.net/hb/c1/pxbfwsp
obsolete
我在这里做错了什么?
【问题讨论】:
-
永远不要使用裸露的
except:,因为它会把明显的问题变成神秘的问题。如果您打算从urllib2捕获异常,请考虑except urllib2.HTPPError:。 -
如果可能,你应该开始使用 Python v3.x - pythonclock.org
-
我试过这个 - 对于 df['URL'][:10] 中的 url: response=requests.get(url) df['returncode']=response 但得到以下错误:- -------------------------------------------------- ------------------------------------ ConnectionError: HTTPConnectionPool(host='10.121.254.141', port=80): url: /moxa-cgi 超出最大重试次数/getsnapshot.cgi(由 NewConnectionError 引起('
: 无法建立新连接:[Errno 61] Connection denied',)) -
请编辑您的问题以使用新信息进行更新。