【发布时间】:2015-01-02 00:20:59
【问题描述】:
我是使用 BeautifulSoup 的新手,如果我的问题很愚蠢,请原谅我。但是,从早上 6 点开始,我一直在谷歌搜索并尝试在每个 stackoverflow 线程中提出建议,但无济于事。
我的问题是我有一个带有基因名称的 .csv 文件,其中一些是 ensEMBL 格式,这意味着我必须使用 ensembl 数据库来查找我需要的信息。其余的我可以使用 ncbi 数据库。
现在,我的代码很好。我知道这一点,因为发送到 ncbi 的每个查询都会返回我需要的信息,并且我可以使用 BeautifulSoup 提取所有信息并将其输出到 csv。但是,urlopen 或 BeautifulSoup 都没有按照我被引导理解它们工作的方式工作。
当我将以下 URL 放入地址栏中时,会加载正确的网页:http://uswest.ensembl.org/Gallus_gallus/Gene/Summary?db=core;g=ENSGALG00000016955;r=1:165302186-165480795;t=ENSGALT00000027404。
然后我可以查看源代码并签出 HTML。然而,当我有:
html = urlopen(http://uswest.ensembl.org/Gallus_gallus/Gene/Summary?db=core;g=ENSGALG00000016955;r=1:165302186-165480795;t=ENSGALT00000027404, 'lxml')
当我在浏览器中加载相同的 URL 并查看源代码时,它输出的 HTML 完全不是我得到的。我知道对于带有 javascript 的页面,inspect 元素和查看源代码会有所不同,但 urlopen 应该始终返回与查看源代码相同的 HTML。
我需要提取“描述”之后的字符串。在我的浏览器中访问链接,我可以检查源代码并查看我需要使用 BeautifulSoup 找到的标签;但是,除非 urlopen 正常工作并返回正确的 HTML,否则我无能为力。我的 RA 工作取决于今晚之前完成。
有什么建议吗?
【问题讨论】:
标签: python-2.7 web-scraping beautifulsoup