python - 从 ClinicalTrials.gov 抓取数据

标签 python web-scraping beautifulsoup python-requests

我正在开发一个小型 Python 函数来从 clinicalTrials.gov 中抓取数据。 。我希望从每个研究记录中抓取该研究针对的条件。例如,对于 this学习记录我想要以下内容:

conditions = ['Rhinoconjunctivitis', 'Rhinitis', 'Conjunctivitis'. 'Allergy']

但是,每一个研究记录中,都有不同数量的条件。我编写了以下获取数据的脚本:

page = requests.get('https://clinicaltrials.gov/ct2/show/study/NCT00550550')
soup = BeautifulSoup(page.text, 'html.parser')
studyDesign = soup.find_all(headers='studyInfoColData')
condition = soup.find(attrs={'class':'data_table'}).find_all('span')
for each in condition:
    print(each.text.encode('utf-8').strip())

像这样:

b'Condition or disease'
b'Intervention/treatment'
b'Phase'
b'Rhinoconjunctivitis'
b'Rhinitis'
b'Conjunctivitis'
b'Allergy'
b'Drug: Placebo'
b'Biological: SCH 697243'
b'Drug: Loratadine Syrup 1 mg/mL Rescue Treatment'
b'Drug: Loratadine 10 mg Rescue Treatment'
b'Drug: Olopatadine 0.1% Rescue Treatment'
b'Drug: Mometasone furoate 50 mcg Rescue Treatment'
b'Drug: Albuterol 108 mcg Rescue Treatment'
b'Drug: Fluticasone 44 mcg Rescue Treatment'
b'Drug: Prednisone 5 mg Rescue Treatment'
b'Phase 3'

我现在如何才能只获得病情而没有干预/治疗信息?

最佳答案

您可以仅将第一个tabledata_table类一起使用,并在td中提取span元素:

import requests
from bs4 import BeautifulSoup

page = requests.get('https://clinicaltrials.gov/ct2/show/study/NCT00550550')
soup = BeautifulSoup(page.text, 'html.parser')
studyDesign = soup.find("table", {"class" : "data_table"}).find('td')
conditions = [ t.text.strip() for t in studyDesign.find_all('span') ]
print(conditions)

给出:

[u'Rhinoconjunctivitis', u'Rhinitis', u'Conjunctivitis', u'Allergy']

关于python - 从 ClinicalTrials.gov 抓取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956702/

相关文章:

python - KMeans 如何用于断言数据集有噪声?

python - 如何循环回到开头

python - 如何从scrapy中插入数据到mysql

python - 在字体大小下使用 Beautiful Soup 提取文本

python - BeautifulSoup - 处理自动关闭标签的正确方法

python - 当我尝试从 Python 调用 Jira 项目时,出现 JSON 错误

python - 在 Flask 应用程序中从 Jupyter Notebook 中 Unpickle 实例

android - Android Jsoup,为什么我无法获得正确的img src

python - 需要使用python清理网络抓取的数据

python-2.7 - 使用 BS4 解析 HTML 表格