我正在抓取多个GoogleScholar页面,我已经用BeautifulSoup编写了代码来提取标题、作者、期刊等信息
这是一个示例页面。 https://scholar.google.com/citations?user=cp-8uaAAAAAJ&hl=en
现在我想提取有关h-index、I-10索引和引文的信息。当我查看页面时,我看到所有这些都有相同的类名(gsc_rsb_std)。鉴于此,我的怀疑是
columns['Citations'] = soup.findAll('td',{'class':'gsc_rsb_std'}).text
Name h-index paper1
Name h-index paper2
Name h-index paper3
我尝试了以下步骤,得到的结果如上所述,但只重复了最后一篇论文。不知道这里发生了什么
soup = BeautifulSoup(driver.page_source, 'html.parser')
columns = {}
columns['Name'] = soup.find('div', {'id': 'gsc_prf_in'}).text
papers = soup.find_all('tr', {'class': 'gsc_a_tr'})
for paper in papers:
columns['title'] = paper.find('a', {'class': 'gsc_a_at'}).text
File.append(columns)
我的输出是这样的。看起来这个循环有点问题
Name h-index paper3
Name h-index paper3
Name h-index paper3
谢谢你的帮助。提前谢谢
您可以使用SelectorGadgetsChrome扩展来直观地获取CSS选择器。下面是一些快速的例子和解释
突出显示在以下内容中的元素:
抓取h指数:
Grab i10索引:
要测试的online IDE(bs4_results folder->;
get_author_info.py
->;uncomment函数中的代码和示例):输出:
或者,您可以使用SerpApi中的Google Scholar Author API执行相同的操作。这是一个付费API,免费试用5000次搜索
在一个特定的例子中,主要的区别在于,您不必猜测和修补如何获取HTML页面的某些元素
另一件事是,您不必考虑如何解决CAPTHCA(它可能会出现在某个点上),或者在需要许多请求的情况下找到好的代理
要集成的代码:
输出:
我会考虑使用:包含和包含和目标搜索字符串
您还可以使用pandas
read_html
按索引获取该表问题:
元素有一个id,使用css选择器/按id查找元素可以更快地匹配,例如
然而,我认为在刮取这一页时没有必要使用selenium
相关问题 更多 >
编程相关推荐