Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从FTP站点使用Python、Urllib解析/抓取表_Python_Parsing_Ftp_Web Scraping_Beautifulsoup - Fatal编程技术网

从FTP站点使用Python、Urllib解析/抓取表

从FTP站点使用Python、Urllib解析/抓取表,python,parsing,ftp,web-scraping,beautifulsoup,Python,Parsing,Ftp,Web Scraping,Beautifulsoup,我正试图从FTP站点解析/刮取一些数据。具体而言: 最终,我希望能够有一个Python脚本,可以从这个站点下载所有文件。但首先,我尝试学习如何使用BeautifulSoup4和urllib2获取所有下载链接。(因为请求不适用于HTML站点?) 我检查了这些元素,发现它们存储在一个表中,但是调用findAll时,我得到了一个findAll属性错误 这就是我的代码现在的样子(仍在启动。我想处理表数据): 导入urllib2 从bs4导入BeautifulSoup url=”ftp://ftp.ncb

我正试图从FTP站点解析/刮取一些数据。具体而言:

最终,我希望能够有一个Python脚本,可以从这个站点下载所有文件。但首先,我尝试学习如何使用BeautifulSoup4和urllib2获取所有下载链接。(因为请求不适用于HTML站点?)

我检查了这些元素,发现它们存储在一个表中,但是调用findAll时,我得到了一个findAll属性错误

这就是我的代码现在的样子(仍在启动。我想处理表数据):

导入urllib2
从bs4导入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')HTML表不是由FTP服务器发送的。只有浏览器会根据FTP服务器返回的目录列表生成HTML。这意味着您不能使用BeautifulSoup来解析它。而是查看与FTP服务器的交互。

HTML表不是由FTP服务器发送的。只有浏览器会根据FTP服务器返回的目录列表生成HTML。这意味着您不能使用BeautifulSoup来解析它。相反,查看是否与FTP服务器交互。

它不能在
None
对象上使用
findAll
,因为
不包含任何内容
table
不包含任何内容,因为
soup.find('table')
未返回任何内容
soup.find('table')
没有返回任何内容,因为
soup
变量只包含一个巨大的
语句。把汤打印出来看看。是的,我现在明白了。我该怎么办?它不能在
None
对象上使用
findAll
,因为
不包含任何内容
table
不包含任何内容,因为
soup.find('table')
未返回任何内容
soup.find('table')
没有返回任何内容,因为
soup
变量只包含一个巨大的
语句。把汤打印出来看看。是的,我现在明白了。我该怎么办?
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