如何使用BeautifulSoup通过web抓取获取seq标签数据?

2024-04-19 02:06:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个网络刮削新手。我正试图从here获取一个文件,但不知何故我不能。首先,我的问题开始跨越标签,我尝试了一些建议,但不为我工作,我怀疑可能有隐私问题

这个类中的FASTA文件,但是当我运行这个代码时,我只能看到FASTA标题:

url = "https://www.ncbi.nlm.nih.gov/nuccore/193211599?report=fasta"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
fasta_data = soup.find_all("div")
for link in soup.find_all("div", {"class": "seqrprt seqviewer"}):
    print link.text

url = "https://www.ncbi.nlm.nih.gov/nuccore/193211599?report=fasta"
res = requests.get(url)
soup = BeautifulSoup(res.text, "html.parser")
fasta_data = soup.find_all("div")
for link in soup.find_all("div", {"class": "seqrprt seqviewer"}):
    print link.text

##When I try to reach directly via span, output is empty.
div = soup.find("div", {'id':'viewercontent1'})
spans = div.find_all('span')
for span in spans:
    print span.string

Tags: 文件textindivurlforlinkres
1条回答
网友
1楼 · 发布于 2024-04-19 02:06:56

每个刮削工作包括两个阶段:

  1. 理解你要刮的那一页。(它是如何工作的?从Ajax加载的内容?重定向?张贴?明白了吗?如果框架?反垃圾的东西?…)

  2. 使用您喜爱的框架模拟网页

在处理第1点之前,不要编写一行代码。谷歌网络检查员是你的朋友,用吧!你知道吗

关于您的网页,报告似乎已加载到从以下url获取数据的查看器中:

https://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi?id=193211599&db=nuccore&report=fasta&extrafeat=0&fmt_mask=0&retmode=html&withmarkup=on&tool=portal&log$=seqview&;maxdownloadsize=1000000

使用这个网址,你就会得到你的报告。你知道吗

相关问题 更多 >