【发布时间】:2016-11-02 20:34:46
【问题描述】:
我正在尝试使用urllib.request.urlopen 从页面下载 Pdf,但它返回错误:'list' object has no attribute 'timeout':
def get_hansard_data(page_url):
#Read base_url into Beautiful soup Object
html = urllib.request.urlopen(page_url).read()
soup = BeautifulSoup(html, "html.parser")
#grab <div class="itemContainer"> that hold links and dates to all hansard pdfs
hansard_menu = soup.find_all("div","itemContainer")
#Get all hansards
#write to a tsv file
with open("hansards.tsv","a") as f:
fieldnames = ("date","hansard_url")
output = csv.writer(f, delimiter="\t")
for div in hansard_menu:
hansard_link = [HANSARD_URL + div.a["href"]]
hansard_date = div.find("h3", "catItemTitle").string
#download
with urllib.request.urlopen(hansard_link) as response:
data = response.read()
r = open("/Users/Parliament Hansards/"+hansard_date +".txt","wb")
r.write(data)
r.close()
print(hansard_date)
print(hansard_link)
output.writerow([hansard_date,hansard_link])
print ("Done Writing File")
【问题讨论】:
-
错误出现在哪一行?你用的是什么版本的 Python?
-
你能给我们堆栈跟踪吗?您发布的代码不包含超时调用,因此很难找到
-
版本:Python 3.4。此行发生错误:使用 urllib.request.urlopen(hansard_link) 作为响应:
标签: python python-3.x beautifulsoup