我正试图从谷歌学者页面上抓取引文、h索引和i10索引,并使用Selify网络驱动程序将其存储在Pandas数据框中。以下是我的网络驱动程序代码。
# install chromium, its driver, and selenium
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin
!pip install selenium
# set options to be headless, ..
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
# open it, go to a website, and get results
wd = webdriver.Chrome('chromedriver',options=options)
wd.get("https://scholar.google.com/citations?user=kukA0LcAAAAJ&hl=en&oi=ao")
divs = wd.find_elements_by_class_name('gsc_rsb'
for i in divs[0].find_elements_by_tag_name('a'):
#print(i)
print(i.get_attribute('text'))
这将导致以下结果:
Get my own profile
Citations
h-index
i10-index
1051
1163
1365
1762
2001
2707
4192
7293
13372
25177
40711
65915
87193
101992
21846
View all
Aaron Courville
Pascal Vincent
Kyunghyun Cho
Ian Goodfellow
Yann LeCun
Hugo Larochelle
Caglar Gulcehre
Dzmitry Bahdanau
David Warde-Farley
Xavier Glorot
Razvan Pascanu
Leon Bottou
Sherjil Ozair
Mehdi Mirza
James Bergstra
Olivier Delalleau
Anirudh Goyal
Pascal Lamblin
Patrick Haffner
Nicolas Le Roux
但我只需要引用,h指数,i10指数,就像下面的Pandas数据框架:
| Name | Citations(All) | Citations(since2016) | i10-index|i10-index(since2016)|
+-------------+--------------------+----------------------+----------+--------------------+
|Yoshua Bengio| 387118 | 343301 | 181 | 164 |
如何通过上面的代码实现这一点呢?
2条答案
按热度按时间c3frrgcw1#
SelectorGadget结合
select()
/select_one()
BeautifulSoup
方法快速查找CSS
选择器。注意,即使使用
selenium
或requests-html
,它仍然可能抛出验证码。如果自定义标头没有帮助,您可以做的第一件事是向您的请求添加代理。以下是我的想法(我在其他个人资料上也是如此):
产出:
其他解决方案使用
requests-html
-docs。代码:
输出(我猜PyCharm不喜欢控制台中的长名称,所以它用
...
替换它们,但值在那里):或者,您可以使用SerpApi中的Google Scholar Author Cited By API。这是一个付费的API,免费试用了5000次搜索。查看playground以进行测试。
要集成的代码:
免责声明我为SerpApi工作。
vohkndzv2#
在C#.Net中
Selify在Firefox、Chrome、Safari等各种流行浏览器上使用WebDriver协议实现流程自动化。这种自动化可以在本地执行(用于测试网页),也可以远程执行(用于Web抓取)。
**HTML Agility Pack(HAP)**是一个用C#编写的免费开源的HTML解析器,用于读写DOM,支持纯XPath或XSLT。这是一种。NET代码库,允许您解析“网络之外”的HTML文件。
第一次加载套餐:-
Interface
搜索按钮代码:-
刮擦按钮码:-
关闭按钮代码:-
*
Youtube Video for Complete Implementation of code
Web Scraping Of Abstract From Google Scholar Website Using Selenium Driver-Youtube