【发布时间】:2018-05-18 17:35:34
【问题描述】:
我正在尝试抓取https://www.proteinatlas.org/ENSG00000167286-CD3D/pathology/tissue/renal+cancer中散点图中显示的数据
javascript在
'<script> var plot = $('#scatter6001').scatterPlot({"Alive (n=651)":{"symbol":"circle","data":[{"x":0.407889650408,"y":12.811,"tooltip":"TCGA-KL-8324-01A<br>Female\/ Stage ii \/ Alive<br>FPKM: 0.4<br>Living days: 4676 (12.8 years)","class":"stage_ii sex_f best_low median_low"},{"x":0.587835812523,"y":8.0795,"tooltip":"TCGA-KL-8334-01A<br>Female\/ Stage iii \/ Alive<br>FPKM: 0.6<br>Living days: 2949 (8.1years)","class":"stage_iii sex_f best_low median_low"}'...});
我的问题是如何解析TCGA-XX-XXXX-XXX中的信息,性别,阶段,生死,FPKM和生活天数?以及如何将这些信息保存在 csv 文件中?
这是我做的代码。
page = urlopen("https://www.proteinatlas.org/ENSG00000167286-CD3D/pathology/tissue/prostate+cancer#imid_3605750")
content = page.read()
soup = BeautifulSoup(content,'lxml')
table = soup.find('div', {'id':'scatter6001'})
print(table)
p = re.search(r"var plot = (.*?);",soup).group(1)
print(p)
代码有一些错误,是
Traceback(最近一次调用最后一次):文件“scrap2.py”,第 24 行,在 p = re.search(r"var plot = (.*?);",soup).group(1) 文件“C:\Python34\lib\re.py”,第 170 行,在搜索中 return _compile(pattern, flags).search(string) TypeError: expected string or buffer
如何解决这个问题,把我想要的数据报废?
谢谢
【问题讨论】:
-
你的内容好像是空的。
-
是的,我知道,但是如何删除我想要内容的信息?
-
向我展示您对单个集合的预期输出。这并不难,但你必须经历一些丑陋的字符串操作。
标签: javascript python json web-scraping beautifulsoup