首页 > 解决方案 > urllib.request.urlopen 如何处理文件中的 url 列表?

问题描述

我正在尝试从列表中获取 url 的代码列表以使用 urlopen,以便我可以遍历它们并使用每个 url。

我可以用一个直接作为参数传递的 url 完美地做我想做的事,但我希望能够用一个列表做同样的事情。

这是我到目前为止所做的:

import urllib.request, urllib.error
a = unique_urls.shape[0]
code = []
for i in range(0,a):
    try: 
        link = unique_urls.iloc[i,0]
        print(link)
        conn = urllib.request.urlopen(link)
    except urllib.error.HTTPError as e:
        status_code = format(e.code) 
        code.append(status_code) 
    else: 
        code.append('200')
print(code)

我得到的错误:

AttributeError                            Traceback (most recent call last)
<ipython-input-62-5d55726757b6> in <module>
      7         link = unique_urls.iloc[i,0]
      8         print(link)
----> 9         conn = urllib.request.urlopen(link)
     10     except urllib.error.HTTPError as e:
     11         status_code = format(e.code)

c:\users\appdata\local\programs\python\python38\lib\urllib\request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
    220     else:
    221         opener = _opener
--> 222     return opener.open(url, data, timeout)
    223 
    224 def install_opener(opener):

c:\users\appdata\local\programs\python\python38\lib\urllib\request.py in open(self, fullurl, data, timeout)
    513                 req.data = data
    514 
--> 515         req.timeout = timeout
    516         protocol = req.type
    517 

AttributeError: 'int' object has no attribute 'timeout'

数据是:

0   url1
1   url2
2   url3
3   url4
4   url5
6   url6
7   url7

标签: pythonpandasurllib

解决方案


推荐阅读