【问题标题】:How can I reach seq tag data via web scraping with BeautifulSoup?如何使用 BeautifulSoup 通过网络抓取来获取 seq 标签数据?
【发布时间】:2017-05-10 08:20:48
【问题描述】:

我是网络抓取的新手。我正在尝试从here 获取 FASTA 文件,但不知何故我不能。首先是我的跨度标签问题,我尝试了一些建议但对我不起作用我怀疑可能存在隐私问题

这个类中的 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

【问题讨论】:

    标签: python html web-scraping html-table fasta


    【解决方案1】:

    每个抓取作业都涉及两个阶段:

    1. 了解您要抓取的页面。 (它是如何工作的?从 Ajax 加载的内容?重定向?POST?GET?iframe?antiscraping 的东西?...)

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

    在完成第 1 点之前不要编写任何代码。Google 网络检查器是您的朋友,使用它!

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

    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

    使用该网址,您将获得报告。

    【讨论】:

    • 非常感谢您提供的信息。你能告诉我你怎么能说观众正在从那个特定的网址获取数据?你能从谷歌网络检查员那里做到吗?如果是,如何?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 2020-05-19
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    相关资源
    最近更新 更多