【发布时间】:2019-06-26 19:31:49
【问题描述】:
我这里有一个免费代理的脚本,但现在出现错误:
Traceback(最近一次通话最后一次):
文件“proxi.py”,第 14 行,在
if (td[6].text=="no"): # 如果将“no”更改为“yes”,则会得到 https
IndexError: 列表索引超出范围
import requests
from bs4 import BeautifulSoup
out = ""
urls = ["http://www.us-proxy.org/","http://free-proxy-list.net/uk-proxy.html","http://free-proxy-list.net/anonymous-proxy.html"]
for url in urls:
r = requests.get(url)
data = r.text
soup = BeautifulSoup(data, "html.parser")
tr = soup.find_all("tr")
for t in tr:
td = t.find_all("td")
if (td):
if (td[6].text=="no"): # If you change "no" to "yes" you get https
out+=(td[0].text+":"+td[1].text+"\n")
f = open("proxy.txt", "w")
f.write(out)
f.close()
【问题讨论】:
-
错误来自哪里?请同时发布您的完整错误回溯并提供一个工作示例。
-
请更正您的缩进
-
在引用
td[6]之前检查td的长度 -
IndexError表示您正在执行此操作someIterable[someIndex]和someIterable在someIndex处没有值。在尝试访问该索引之前检查长度,或try/exceptIndexError -
我添加了整个错误。如何查看长度?
标签: python