使用 urllib3 和 python 2.7 从 url 下载 .txt 文件?
Using urllib3 with python 2.7 to download .txt file from url?
我正在使用 Python 2.7,并且我有 urllib3。我正在尝试下载此 link 中的每个 .txt 文件:http://web.mta.info/developers/turnstile.html
这是我的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
import urllib3, shutil
http = urllib3.PoolManager()
MTA_url = requests.get("http://web.mta.info/developers/turnstile.html").text
MTA_soup = BeautifulSoup(MTA_url)
#Find each link to be downloaded
MTA_soup.findAll('a')
#Let's test it with the 36th link
one_a_tag = MTA_soup.findAll("a")[36]
MTA_link = one_a_tag["href"]
download_url = 'http://web.mta.info/developers/'+ MTA_link
print download_url #valid url, will take you to download
这就是我卡住的地方。我似乎无法弄清楚如何在 download_url
下载 .txt 文件,更不用说遍历列表了。我试过这个:
open('/Users/me/Documents/test_output_download.csv', 'wb').write(download_url.content)
但这给了我错误:
AttributeError: 'unicode' object has no attribute 'content'
进一步阅读后,我也尝试了:
out_file = '/Users/me/Documents/test_output_download.csv'
http.request('GET', download_url, preload_content=False) as res, open(out_file, 'wb') as out_file:
shutil.copyfileobj(res, out_file)
但我克服了这个语法错误:
http.request('GET', download_url, preload_content=False) as res, open(out_file, 'wb') as out_file:
^
SyntaxError: invalid syntax
如何使用 urllib3 下载位于 download_url
的 .txt 文件并将其保存到我的本地驱动器?提前谢谢你。
'as' 关键字用于导入。我测试了完整的代码段,在这里做了一些小改动后就可以下载了。
尝试改变它以将对象声明为变量,如下所示:
res = http.request('GET', download_url, preload_content=False)
out_file = open(out_file, 'wb')
shutil.copyfileobj(res, out_file)
我正在使用 Python 2.7,并且我有 urllib3。我正在尝试下载此 link 中的每个 .txt 文件:http://web.mta.info/developers/turnstile.html
这是我的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
import urllib3, shutil
http = urllib3.PoolManager()
MTA_url = requests.get("http://web.mta.info/developers/turnstile.html").text
MTA_soup = BeautifulSoup(MTA_url)
#Find each link to be downloaded
MTA_soup.findAll('a')
#Let's test it with the 36th link
one_a_tag = MTA_soup.findAll("a")[36]
MTA_link = one_a_tag["href"]
download_url = 'http://web.mta.info/developers/'+ MTA_link
print download_url #valid url, will take you to download
这就是我卡住的地方。我似乎无法弄清楚如何在 download_url
下载 .txt 文件,更不用说遍历列表了。我试过这个:
open('/Users/me/Documents/test_output_download.csv', 'wb').write(download_url.content)
但这给了我错误:
AttributeError: 'unicode' object has no attribute 'content'
进一步阅读后,我也尝试了:
out_file = '/Users/me/Documents/test_output_download.csv'
http.request('GET', download_url, preload_content=False) as res, open(out_file, 'wb') as out_file:
shutil.copyfileobj(res, out_file)
但我克服了这个语法错误:
http.request('GET', download_url, preload_content=False) as res, open(out_file, 'wb') as out_file:
^
SyntaxError: invalid syntax
如何使用 urllib3 下载位于 download_url
的 .txt 文件并将其保存到我的本地驱动器?提前谢谢你。
'as' 关键字用于导入。我测试了完整的代码段,在这里做了一些小改动后就可以下载了。
尝试改变它以将对象声明为变量,如下所示:
res = http.request('GET', download_url, preload_content=False)
out_file = open(out_file, 'wb')
shutil.copyfileobj(res, out_file)