您的位置:首页 > 财经 > 金融 > 电脑网页打不开是什么问题_速成网站建设_网站收录查询代码_营销网站方案设计

电脑网页打不开是什么问题_速成网站建设_网站收录查询代码_营销网站方案设计

2024/12/21 11:39:02 来源:https://blog.csdn.net/weixin_60760661/article/details/143452115  浏览:    关键词:电脑网页打不开是什么问题_速成网站建设_网站收录查询代码_营销网站方案设计
电脑网页打不开是什么问题_速成网站建设_网站收录查询代码_营销网站方案设计

在写中文论文、本硕博毕业设计的时候要求非常严格的引用格式——GB 7714引用。对于普通学生来说都是在google scholar上获取,一个一个输入点击很麻烦,就想使用python完成这个自动化流程,实现批量的倒入论文标题,导出引用。

正常引用方法

一般获取GB 7714引用的方法分三步:

step1:打开Google Scholar在输入框中写入论文标题

step2:点击目标论文下方引用

step3:复制引用

这就是获取GB7714引用的方法,但是一个一个点击太慢,所以打算用python爬虫实现这个任务的自动化。

自动流程实现

环境准备

整个流程只需要两个库,直接使用pip安装就可以了:

pip install selenium beautifulsoup4

使用selenium库来模拟浏览器行为,beautifulsoup4库来解析HTML内容。

浏览器驱动准备

除了上面两个库,还需要安装你的浏览器对应的webdriver,这里以chromedriver (for Chrome)举例。 下载后,请确保将chromedriver放在你的系统PATH环境变量中,或者在代码中指定chromedriver的路径。安装chromedriver步骤:

step1:在浏览器地址栏输入chrome://version/

可以直接看到版本号,比如我的就是126.0.6478.126版本

step2:查找对应版本的驱动

官方网址:https://developer.chrome.com/docs/chromedriver/downloads?hl=zh-cn#current_releases

但是页面中没有对应的版本

 往下翻有一个警告,点击 JSON 端点就会进入一个json格式的网页,点击ctrl+f输入chrome浏览器版本进行查找

就会查找到不同系统对应的chromedriver下载地址,复制地址到浏览器中就可以进行下载。接下来就是将chromedriver添加到环境变量中,win系统是UI界面添加非常方便,linux系统则需要通过几个命令实现添加:

sudo nano /etc/environment

打开环境变量文件,就会出现诸如 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"这样的,接着就是在这个后面添加上下载的chromedriver地址就可以。

添加过后需要激活一下:

source /etc/environment

Python爬虫

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from bs4 import BeautifulSoup
import timedef collect_scholar_info(article_titles):"""从Google Scholar收集文章信息。Args:article_title: 文章标题Returns:一个字典,包含文章信息,或者None如果找不到文章或发生错误。"""article_results = []for article_title in article_titles:options = webdriver.ChromeOptions()# options.add_argument('--headless') # 可选:无头模式,不打开浏览器窗口driver = webdriver.Chrome(options=options) # 替换为你的chromedriver路径,如果不在PATH中driver.get("https://xueshu.aigrogu.com/")search_box = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.NAME, "q")))search_box.send_keys(article_title)search_box.submit()# 等待搜索结果加载 (时间可能需要调整)time.sleep(3)page_source = driver.page_source# 使用 BeautifulSoup 解析页面soup = BeautifulSoup(page_source, 'html.parser')# 在这里编写代码来提取你需要的信息results = soup.find_all('div', class_='gs_ri')first_result = Nonefor result in results:title = result.find('h3', class_='gs_rt').textlink = result.find('a')['href']first_result = {'title': title, 'link': link}cite_button = WebDriverWait(driver, 2).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.gs_or_cit.gs_or_btn.gs_nph")))cite_button.click()# 等待引用窗口出现并提取信息 (需要根据实际情况调整)time.sleep(2) # 等待引用窗口加载new_page_source = driver.page_sourcenew_soup = BeautifulSoup(new_page_source, 'html.parser')time.sleep(2) # 等待引用窗口加载gb_citation = new_soup.select_one('#gs_citt > table > tbody > tr:nth-child(1) > td:nth-child(2) > div').textfirst_result['citation_GBT'] = gb_citation.strip() if gb_citation else "未能找到GB/T 7714引用"breakarticle_results.append(first_result)# 关闭浏览器driver.quit()return article_results

上面实现的是一个抓取函数,输入是多个paper的title,输出是爬取结果的一个list。引文GoogleScholar在多次访问后会出现人机验证,所以就是用一个镜像网站代替:

谷谷学术搜索_谷歌学术搜索_Google 学术搜索

最后输出的结果类似如下:

[{'title': 'Planning-oriented autonomous driving', 'link': 'http://openaccess.thecvf.com/content/CVPR2023/html/Hu_Planning-Oriented_Autonomous_Driving_CVPR_2023_paper.html', 'citation_GBT': 'Hu Y, Yang J, Chen L, et al. Planning-oriented autonomous driving[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 17853-17862.'}, {'title': 'DeepPhos: prediction of protein phosphorylation sites with deep learning', 'link': 'https://academic.oup.com/bioinformatics/article-abstract/35/16/2766/5270665', 'citation_GBT': 'Luo F, Wang M, Liu Y, et al. DeepPhos: prediction of protein phosphorylation sites with deep learning[J]. Bioinformatics, 2019, 35(16): 2766-2773.'}, {'title': '\n[HTML][HTML] A protocol of using PTMiner for quality control and localization of protein modifications identified by open or closed search of tandem mass spectra\n', 'link': 'https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10166509/', 'citation_GBT': 'Cheng Z, Song G, Fu Y. A protocol of using PTMiner for quality control and localization of protein modifications identified by open or closed search of tandem mass spectra[J]. Biophysics Reports, 2022, 8(5-6): 269.'}, {'title': 'A Survey of Multimodal Large Language Model from A Data-centric Perspective', 'link': 'https://arxiv.org/abs/2405.16640', 'citation_GBT': 'Bai T, Liang H, Wan B, et al. A Survey of Multimodal Large Language Model from A Data-centric Perspective[J]. arXiv preprint arXiv:2405.16640, 2024.'}]

以下我这里设置输出的还有文章的链接还有标题,如果不需要可以后续处理中删掉只保留想要的东西,甚至可以格式化输出,方便复制粘贴到论文中。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com