selenium知网爬虫之根据关键词获取文献信息咸鱼Linux运维

我觉得在网上看到别人的代码,不要一昧地拿来主义,复制粘贴就行了,你要结合你自己的本地环境对代码做适当地修改。比如定位Xpath元素路径,不通电脑或者说不同浏览器同一元素的Xpath路径有可能不是一样的,这个路径在我本地运行没问题,到了你那里就报错

当看别人的代码时,最好先搞清楚:

我们先来看下如果要通过关键词搜索文献,该怎么操作?

结合前面的需求分析,我们就可以对网页进行分析并定位出对应的元素

往输入框传入数据之后,我们需要点击下面的【检索】按钮

selenium是一个自动化测试工具,可以用来进行web自动化测试。其本质是通过驱动浏览器,完全模拟浏览器的操作(比如跳转、输入、点击、下拉等)来实现网页渲染之后的结果,可支持多种浏览器

爬虫中用到selenium主要是为了解决requests无法直接执行JavaScript代码等问题

importtimefromseleniumimportwebdriverfromselenium.webdriver.support.uiimportWebDriverWaitfromselenium.webdriver.supportimportexpected_conditionsasECfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.desired_capabilitiesimportDesiredCapabilitiesfromselenium.webdriver.common.action_chainsimportActionChains创建浏览器对象

这里我用的是Edge浏览器

defwebserver():#get直接返回,不再等待界面加载完成desired_capabilities=DesiredCapabilities.EDGEdesired_capabilities["pageLoadStrategy"]="none"#设置微软驱动器的环境options=webdriver.EdgeOptions()#设置浏览器不加载图片,提高加载速度options.add_experimental_option("prefs",{"profile.managed_default_content_settings.images":2})#创建一个微软驱动器driver=webdriver.Edge(options=options)returndriver爬取网页

其实逻辑并不难,就是先定位到各个元素然后用selenium来模拟我们人为点击浏览器的操作就行了

首先打开页面,等待个一两秒让网页完全加载

这里我们通过执行js脚本来修改里面的style属性

#修改属性,使下拉框显示opt=driver.find_element(By.CSS_SELECTOR,'div.sort-list')#定位下拉框#执行js脚本进行属性的修改;arguments[0]代表第一个属性driver.execute_script("arguments[0].setAttribute('style','display:block;')",opt)下拉框显示出来之后我们需要点击【关键词】,这样才会切换到关键词搜索

这里需要注意的是,当我在测试的时候发现下拉框加载是有问题的,这时候代码会报错说Element...isnotclickableatpoint(189,249)

用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击、双击、点击鼠标右键、拖拽等等

selenium给我们提供了一个类来处理这类事件——ActionChains

还有一点需要注意的是:如果鼠标只是移到【关键词】,下拉框其实还是不能正确加载出来,最好是移动到下拉框的最底部或者关键词后面的元素,这里我移动到【通讯作者】

下拉框加载完成之后,定位到【关键词】再点击

#鼠标移动到下拉框ActionChains(driver).move_to_element(driver.find_element(By.CSS_SELECTOR,'li[data-val="RP"]')).perform()#找到[关键词]选项并点击WebDriverWait(driver,100).until(EC.visibility_of_element_located((By.CSS_SELECTOR,'li[data-val="KY"]'))).click()定位出搜索框,传入我们要搜索的关键词

#传入关键字WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,'''//*[@id="gradetxt"]/dd[1]/div[2]/input'''))).send_keys(keyword)#点击搜索WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,"/html/body/div[2]/div/div[2]/div/div[1]/div[1]/div[2]/div[2]/input"))).click()搜索结果出来之后定位【文献条数】,获取对应的条数(text标签)

#获取总文献数和页数res_unm=WebDriverWait(driver,100).until(EC.presence_of_element_located((By.XPATH,"/html/body/div[3]/div[2]/div[2]/div[2]/form/div/div[1]/div[1]/span[1]/em"))).text

THE END
1.edge浏览器插件查重edge浏览器检查语言改成中文1、知网查重无法访问怎么办? 2、如何免费查询知网论文 3、为什么在中国知网查重时出现问题 4、什么是AJAX? 5、wps和微软的office,到底是谁模仿的谁? 知网查重无法访问怎么办? 如果您无法访问知网查重,可以尝试以下方法:检查网络连接:确保您的设备连接到互联网,并且网络连接稳定。尝试使用不同的浏览器或设备:有时https://www.915go.com/zhuangji/16352.html
2.ie浏览器不能使用怎么回事ie浏览器不能使用怎么回事 IE浏览器无法使用怎么办 1. 检查IE浏览器的加载管理项和是否有其他插件,打开控制面板,选择“网络和Internet选项”,如图。 2. 在Internt选项下面选择“管理浏览器加载项”,如图; 3. 在属性内选择“管理加载项”,在管理加载项内把没用的或异常的加载项禁止掉,如图。https://www.tayang100.com/post/o9j6po57l.html
3.MicrosoftEdgeA Microsoft cross-platform web browser that provides privacy, learning, and accessibility tools.https://learn.microsoft.com/en-us/answers/tags/7/microsoft-edge
4.日报如何解决浏览器不支持的问题社会新闻12月17日,自助烤肉儿媳妇不能吃,JAZZJIZZ国产精品喷水,白洁传最终结局免费在线阅读|白洁传最终结局免费全文,灵落椒房(骨科1V2)灵落椒房(骨科1V2)全文免费阅读书,水蜜桃批发行情网站免费:如何找到合适的资源获,暗黑之门伦敦最强职业,僵尸之无限进化,《天之云地之雾》电视剧在线播放-星辰影视,最讨厌的朋友byhttp://m.ouzhehua.com/v/video/359226774020241209.shtml?id=5-scm
5.浏览器打不开网页怎么办?重庆辟谣一步行街突发爆炸 微信朋友圈崩了 习近平将出席庆祝澳门回归祖国25周年大会 0 Play 00:00 % buffered00:00 00:00Enter fullscreen浏览器打不开网页怎么办?科技小磊 陕西 0 打开网易新闻 体验效果更佳https://m.163.com/v/video/VGI83PLET.html
6.edge浏览器无法进入中国知网,但可以进入其他网站需要怎么解决最近使用edge浏览器进入中国知网,加载了很长时间都打不开,好不容易打开了,结果出现:“嗯无法访问此页面”。即使无法进入知网,但可以进入哔哩哔哩或其他网站,甚是苦恼,下面是一个方法,亲测有用! 1 1.在电脑的搜索栏输入:控制面板,并点击进入控制面板选项。 https://blog.csdn.net/m0_45906029/article/details/134292507
7.[萝卜图书馆]中文文献下载教程及常见问题(210312版)例如:我下的这篇文献是CAJ格式,用CAJ阅读器(例如CAJ云阅读 CAJviewer)打开即可 如果您下载的是PDF格式,可以直接用chrome浏览器/win10的Edge浏览器/WPS软件打开 (学位论文多为CAJ格式 因为知网新官网里只提供CAJ格式的全篇学位论文) 知网下载方法之【入口3】(基础教育类文献入口3不支持下载) https://www.jianshu.com/p/04d25ae12668
8.能上P站的浏览器有哪些?pornhub加速器提到Pornhub,相信各位老司机不会陌生。很多网友都想知道怎么才能上Porenhub呢?具体哪些浏览器可以访问、打开、进入Porenhub网站,让小编给大家介绍几款浏览器轻松观看Porenhub视频。 注意,再好的浏览器要是没有加速器,也是没有用的哦! 360极速浏览器 360极速浏览器可以访问 Porenhub,很轻松的就能打开进入,没有出现https://movie.tqlcool.com/special-topics/3984.html
9.GitHubMicrosoft Edge应用商店下载(推荐):点击easyScholar,点击安装即可。 谷歌应用商店下载(需要梯子):点击easyScholar,点击安装即可。 火狐应用商店下载:点击easyScholar,点击安装即可。 离线安装方法(此为edge浏览器教程,其他浏览器步骤基本相似): 首先作者不提倡这种安装方式,最好通过商店安装。离线安装代码未经过商店审核,且https://github.com/loongyowl/easyScholar
10.激活新版Edge浏览器的试验功能电脑报激活新版Edge浏览器的试验功能,浏览器,标签页,大家都知道,新版Edge浏览器是在Chromium框架的基础上开发的,而该框架的浏览器默认都有试验功能,通过它可以提早感受到一些即将发布https://wap.cnki.net/touch/web/Newspaper/Article/DINA202002170260.html
11.Edge浏览器调整安全等级方法教程系统资讯edge浏览器专针对不同的用户准备了不同等级的安全防护,分为基本、平衡、严格三种,大家可以按照自己的使用需求调高或调低。那具体该怎么设置呢?下面小编就为大家带来详细教程, 希望对您有帮助。 Microsoft Edge浏览器 V108.0.1462.54 官方版 [电脑软件] https://www.zovps.com/article/index.php/post/45763.html
12.VPN常见问题与解决方法(20220418)3)知网等登录时无法下载,若右上角未显示“东南大学”,点击登录-IP登录,再次尝试。 4)其他,如浏览器兼容问题:建议更换微软Edge、谷歌Chrome、火狐Firefox再试一次。注意客户端会选择默认浏览器,可直接复制网址到相应浏览器打开。 5 客户端与服务端版本不匹配/版本需更新 https://nic.seu.edu.cn/info/1030/1862.htm
13.微软浏览器edge打不开网页了微软浏览器edge这款浏览器很多用户都在使用,而且使用的过程当中流畅感很好。微软浏览器edge打不开网页了?该怎么办呢? 01 首先打开windows系统控制面板。 02 点击用户账户。 03 点击更改用户账户控制设置即可。 04 打开百度浏览器,点击高级设置。 05 选择不阻止cookie即可。https://www.coozhi.com/youxishuma/diannao/182386.html
14.linuxcaj浏览器腾讯云开发者社区第二种比较新的期刊文献,这类caj文件都是由杂志社直接提供电子版的文件,由同方制作成caj文件的,可以直接复制,也不会出现文字错误,唯一的缺点就是caj里的一行,就是Word里的一段,这是没法改变的。唯一算是比较靠谱一点的方法,就是用caj专用浏览器(CajViewer)里边的文本识别功能,直接去识别,错误估计还会https://cloud.tencent.com/developer/information/linux%20caj%E6%B5%8F%E8%A7%88%E5%99%A8
15.查重结果浏览器打不开查重结果浏览器打不开怎么办1.通常情况下,知网论文查重报告是有两种形式的,一个网页版本报告和pdf格式的报告,网页报告可以通过浏览器直接打开,如果是pdf报告,那你需要下载 pdf阅读工具来打开它,没有pdf阅读器是打不开的。 2.若在对查重报告进行下载,下载下来的安装包有损坏,也是无法正常打开该报告,大家可以尝试重新下载。 http://www.cleverschool.com/chachong/174519.html
16.文献采集助手插件知网研学下载v2.0.1官方浏览器版Chrome浏览器、Edge浏览器 支持将网页内容以及中国知网、Springer、ScienceDirect、Wiley、IEEE、EBSCO、谷歌学术等其他国内外常用数据库的题录信息或全文保存到知网研学。 下载地址 经杀毒检测后安全下载: 通用安全下载 移动安全下载 联通安全下载 电信安全下载 https://www.wmzhe.com/soft-62947.html