【发布时间】:2016-12-04 12:11:46
【问题描述】:
我正在尝试从 FTP 站点解析/抓取一些数据。具体:ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA_000513335.1_PCAMFM013_20131106
最终,我希望能够拥有一个 Python 脚本,该脚本将从该站点下载所有文件。但首先,我正在尝试学习如何使用 BeautifulSoup4 和 urllib2 获取所有下载链接。 (因为请求不适用于 HTML 网站?)
我检查了元素并看到它们存储在一个表中,但是当我调用它时,我得到了 findAll 的属性错误。
这就是我的代码现在的样子(仍在开始。我想弄乱表格数据):
import urllib2
from bs4 import BeautifulSoup
url ="ftp://ftp.ncbi.nlm.nih.gov/genomes/all/GCA_000513335.1_PCAMFM013_20131106"
html = urllib2.urlopen(url).read()
soup = BeautifulSoup(html)
table = soup.find('table')
rows = table.findAll('tr') <== error here
print rows
有谁知道我在这里做错了什么?我是在错误地接近这个吗?任何帮助,将不胜感激。
【问题讨论】:
-
它不能在
None对象上使用findAll,因为table不包含任何内容。table不包含任何内容,因为soup.find('table')没有返回任何内容。soup.find('table')没有返回任何内容,因为您的soup变量只包含一个巨大的<p>语句。打印出soup看看。 -
是的,我现在看到了。我该怎么办?
标签: python parsing ftp web-scraping beautifulsoup