selenium 导出wos论文详细信息(一[或许会有二])

菜鸡的目录

  • 说明
  • 准备
  • 安装对应软件等
  • 环境配置
  • 实操
    • 需要了解的代码知识总述
    • 最基础部分的缺漏
    • dataframe部分
    • selenium部分
  • 不足
    • 会有warning提示
    • 选择中止
    • 封装
    • 速度
  • 总结

说明

个人对计算机比较感兴趣,这学一点那学一点多少也懂了一点,不过没有动力就学得慢,结果之前前帮朋友导wos数据,自己也没帮上啥忙,后来淘宝雇人编的程序,需求没说清,结果又需要改动,店家人不知道去哪了,就自己上手一句一句查了,基本上搞懂了,留个记录。很多属于可能都不太准确,毕竟是个半吊子。。也不要求太高了

准备

python
selenium …(还有其他模块我这里不再补充)
chromedriver

安装对应软件等

能在官网就在官网下
Python.
Chromedriver.
selenium(等): 命令行下载 :

pip install selenium

可能遇到安装失败,基本都能通过度娘解决
还有其他不少模块没安装,实操的时候哪里报错再调整吧,同用百度

环境配置

Python的环境安装时就可以自动设置好了
Chrome Driver的需要把文件解压到Google的路径下,然后将Google的路径添加到环境变量的path里(非专业学生描述不准确,大概就是这样。。。)

实操

需要了解的代码知识总述

店家敲的代码主要涉及到了selenium和dataframe的部分,再多的就是基础部分的知识,我基本多少能看懂,然后我就对着浏览器,看不懂的部分一条一条百度去了。
其实就是通过代码打开浏览器到指定的网页然后定位相关的标签,存储内容,将文本写入到一个excel表格里,但这哥们给的代码甚至还没有新建excel文件的部分…而是对已存在的文件写入…我佛了,不过我也懒得改了

最基础部分的缺漏

selenium 导出wos论文详细信息(一[或许会有二])_第1张图片

dataframe部分

具体的使用教程我主要也是看其他人的:

都挺详细的,有点编程基础都能看懂

Pandas之read_excel()和to_excel()函数解析(网址)

Python_file_ 详解(网址)

df.to_excel用法(网址)

pandas中的ExcelWriter和ExcelFile(网址)

DataFrame的append方法(网址)

selenium部分

然后是关于selenium使用的教程,大多数都是通过代码打开浏览器,没有自己打开之后然后对已打开浏览器进行操作的教程。

selenium使用教程(网址)

本来想再具体进行解释,结果这哥们写的也太详细了。。不懂的话看他的帖子就够了,主要可能就是涉及到了HTML的知识,好在自己在学校摸鱼的时候学了下这方面的基础知识(不过也就局限于基础知识了。。)
其实就是通过元素的标签,内容或者是Xpath来进行定位,Chrome浏览器按F12直接就能定位然后获取地址,不过有点烦人的就是wos的论文相关资料的网页排版也tm太不规范了,尤其是作者和通讯作者的地址,店家敲的代码敲得是个,我直接推掉重码了,但因为不知道有什么更好的办法,只能通过try,except循环了好几遍。。心态爆炸,结果还是可能没有将所有情况都涉及到。。。人都傻了,不过也差不多了,就没再做更多的更改
如果是直接用学校账号登录,不用验证码的话可以直接用selenium,然而朋友后来说他们学校的库不完整。。又自己找了一个,需要验证码,又在网上搜了一大圈发现自动识别填写有点复杂,于是又换了个思路,自己填验证码,然后通过代码操作已打开的浏览器,在网上找了找,发现了相关的知识

selenium控制已打开的浏览器(网址)

其实就是命令行输入下面的命令

chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenium\AutomationProfile"
#路径中的C盘和selenium名可以更改

原理我没搞明白,应该就是相当于新建了一个Chrome浏览器
同时在脚本里要添上下面的代码:

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")#这个9222应该是要和上面相对应的
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"#l路径就是Google的地址
dr = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)

不足

会有warning提示

实际运行的时候如果是控制打开的浏览器,会有warning提示,不过能运行就成。

选择中止

这代码。。我想让他运行一段时间后可供选择是否终止,如果未输入,就继续运行,结果百度的时候没找到相关的比较易懂的内容。。

封装

这玩意根本没封装,我查了下也没找到啥好用的封装,毕竟说实话我在Python这一块基本啥都不懂,全是靠C#的知识类比过来的。。希望有大佬可以解答

速度

这速度也太慢了,我试图再去学下多线程多进程之类的知识来加快速度,但是因为之前快期末考了,一直没空,以后有空再补上。

总结

第一次把自己学的编程方面的知识在实际中应用,说不觉得满足是不可能的。继续学吧,前两天又爬了笔趣阁的小说,还是速度慢的问题,更坚定了我学多线程多进程方面知识的决心(应该是这个知识模块吧。。我也不确定)代码的不足都应该是可以弥补掉的,但主要就是时间抽不出来的问题,唉,先就这样吧。

你可能感兴趣的:(python,selenium,chrome)