使用 beautifulsoup 将文件下载到 google 驱动器
Downloading files to google drive using beautifulsoup
我需要使用 colaboratory beautifulsoup 将文件下载到我的 google 驱动器。
我正在使用以下代码:
u = urllib.request.urlopen("https://s3.amazonaws.com/video.udacity-data.com/topher/2018/November/5bf32290_turnstile/turnstile.html")
html = u.read()
soup = BeautifulSoup(html, "html.parser")
links = soup.find_all('a')
我只需要名称包含“1706”的链接。所以,我正在尝试:
for link in links:
files = link.get('href')
if '1706' in files:
urllib.request.urlretrieve(filelink, filename)
而且没有用。 "TypeError: argument of type 'NoneType' is not iterable"。好的,我知道为什么会出现此错误,但我不知道如何解决,缺少什么。
使用这个
urllib.request.urlretrieve("https://s3.amazonaws.com/video.udacity-data.com/topher/2018/November/5bf32142_turnstile-170624/turnstile-170624.txt", 'turnstile-170624.txt')
我可以获取单个文件。但我想要一些方法来下载所有文件(包含“1706”)并将这些文件保存到我的 google 驱动器。
我该怎么做?
您可以使用带有 * contains 运算符的 attribute = value css 选择器来指定 href 属性值包含 1706
links = [item['href'] for item in soup.select("[href*='1706']")]
变化自
soup.find_all('a')
改成这个
soup.select('a[href]')
它将select只有一个具有 href 属性的标签。
我需要使用 colaboratory beautifulsoup 将文件下载到我的 google 驱动器。
我正在使用以下代码:
u = urllib.request.urlopen("https://s3.amazonaws.com/video.udacity-data.com/topher/2018/November/5bf32290_turnstile/turnstile.html")
html = u.read()
soup = BeautifulSoup(html, "html.parser")
links = soup.find_all('a')
我只需要名称包含“1706”的链接。所以,我正在尝试:
for link in links:
files = link.get('href')
if '1706' in files:
urllib.request.urlretrieve(filelink, filename)
而且没有用。 "TypeError: argument of type 'NoneType' is not iterable"。好的,我知道为什么会出现此错误,但我不知道如何解决,缺少什么。
使用这个
urllib.request.urlretrieve("https://s3.amazonaws.com/video.udacity-data.com/topher/2018/November/5bf32142_turnstile-170624/turnstile-170624.txt", 'turnstile-170624.txt')
我可以获取单个文件。但我想要一些方法来下载所有文件(包含“1706”)并将这些文件保存到我的 google 驱动器。
我该怎么做?
您可以使用带有 * contains 运算符的 attribute = value css 选择器来指定 href 属性值包含 1706
links = [item['href'] for item in soup.select("[href*='1706']")]
变化自
soup.find_all('a')
改成这个
soup.select('a[href]')
它将select只有一个具有 href 属性的标签。