【发布时间】:2015-02-17 13:02:56
【问题描述】:
我正在尝试从 Google Scholar 获取特定个人资料的引用次数。我使用 python 和 BeautifulSoup。
这些元素在表中引文索引。我使用的代码仅返回九个元素,而当您单击图形时,还有更多具有相同标签的元素。
有什么问题?
from urllib import urlopen
from bs4 import BeautifulSoup
from lista_url import*
url='https://scholar.google.gr/citations?user=aFYdVoYAAAAJ&hl=el'#profile- scholar
webpage=urlopen(url)
soup=BeautifulSoup(webpage)
for t in soup.findAll('span',{"class":"gsc_g_al"}):
a=t.text
print a
【问题讨论】:
-
是什么让你觉得有更多的元素?返回的 HTML 中确实只有 9 个这样的跨度。该类的其他 4 个匹配项用于 CSS 定义。
-
你能告诉我们更多关于你在这里期待什么结果吗?您从引文图中得到了 9 个数字(图中每年一个数字)。
-
如果你点击“引文索引”,会有更多年份 - 更多具有相同标签的图表......所以我无法理解它们之间有什么不同?我该如何打印这些?
-
那些额外的引用是通过 AJAX 加载的,它们不是页面本身的一部分。你必须这样做,你不会用 BeautifulSoup 找到那些。
-
这个 URL 看起来很容易猜到:
https://scholar.google.gr/citations?hl=en&user=aFYdVoYAAAAJ&view_op=citations_histogram;注意额外的view_op=citations_histogram部分。
标签: python beautifulsoup google-scholar