python使用selenium爬取InCites中journal数据

xiaoxiao2021-02-28  95

selenium的基本使用方法:

感谢博主静觅的文章,里面有详细的python中selenium的用法。需要提醒的是implicitly_wait()的用法:设置的隐性等待时间是适用全局的,因此值不宜设置太大,会严重拖慢爬虫程序的速度。

关于selenium实践时的二三问题:

任务目标是爬取每一年的每个分类的journal数据,因此就有两个重要的列表需要爬取,年份列表和分类列表。 2.1  时间列表的定位 虽然列表用find_elements方法很容易获取到一个大列表,但是这种操作的弊端在与很容易遇到在遍历时某个元素不在DOM资源中的异常。这里给出的解决方法是用Xpath 每次定位到具体的某个元素,而不是获取列表来进行遍历。 2.2 分类列表的定位 分类列表的获取我在实验时发现一个很神奇的现象,在程序中第一次获取的时候是一个长度为227的列表,经过一番操作之后列表长度居然变化了,变...化...了...,必须经历了一些操作才会变化,并且重新刷新也没有办法改正。不仅大小变化了,列表的顺序也有所不同。由于对网页了解程度不够,因此没有分析出到底原因在哪里。但是解决方法还是有的。第一获取的长为227的列表应该是全面的,因此抽取出所有目录的名称,存在一个列表里面。通过每一个列表的遍历来依次选中每一个分类。那要怎么根据字符串去定位这个元素呢? 如图,名称列表记录的是里面分类的简称,也就是里面name和value的值,通过cssselector就能够确定。具体代码为 driver.find_element_css_selector("input[value=\"%s\"]"
转载请注明原文地址: https://www.6miu.com/read-30725.html

最新回复(0)