webscraper元素选择和翻页
⼀、选择器介绍
1.使⽤link可以使得爬取到的内容多获取两列,⼀列是该指定link处的⽂字text,⼀列是跳转的链接的url;
2.使⽤link爬取多级页⾯时,如果想获得多级页⾯下的内容,不管这个页⾯是在当页打开,或是在新的页⾯打开,都可以在创建的类型为link的结构下,再对⼦页⾯的元素进⾏抓取;
3.Text⽤于⽂本,Table⽤于表格,image⽤于图⽚;
4.Element⽤于结构体,可以在结构体内再去选择⼦元素,但是其⼦元素不⽤勾选multiple选项;
5.Element scroll down⽤于爬取下拉滚动式的页⾯结构体;
6.Element click⽤来爬取需要点击的分页页⾯;
7.Element click的使⽤基本上有两种(应该使适⽤于页⾯不刷新情况下翻页):
第⼀是采⽤click one的⽅式直接全部选取:
第⼆是采⽤click more的⽅式来点击下⼀页进⾏获取:
8.遇到有规律的分页,可以使⽤[2-5]表⽰第2页到第5页,如果是步长为2页,则可以:[2-5:2]
⼆、具体分析步骤
1. 单页数据抓取
主要为了⼀条记录的各数据项对应上,先创建⼀级element节点(选择多个需要勾选multiple),再在element节点下选择具体数据(此时multiple不⽤选,是在⼀个结构体内选择元素)
2. 多页抓取
2.1. 切换页⾯url有规律变化时
通过设置starturl来实现,
2.2.⽆规律的翻页场景
可以利⽤循环嵌套抓取结构来实现翻页抓取,⾸先在⼀级selector增加⼀个获取下⼀页链接的selector。该next selector获取当前页⾯的下⼀页链接。
elements selector获取当前页⾯的元素。
接着,我们分别配置elements和next的⽗节点,next的⽗节点除了root以外,我们将next⾃⾝也添加为
⽗节点。
elements的⽗节点除了root以外,我们也将next添加为⽗节点。
最后,我们来看下整个抓取结构图,如下所⽰,点击next,可以看到整个结构会⽆限循环下去,通过这种⽅式,我们就可以构建⼀个通⽤的翻页循环抓取结构!
2.3. 滚动加载场景
其实很简单,webscraper已经帮我们设计好了这种元素类型,即selector type⾥的elements scroll down,在选择type时,将之前的elements换成这个类型即可,其他配置⽅式保持不变,我们即可以实现滚动加载数据的抓取。
2.4. 点击加载场景(加载更多按钮)
当然少不了我们强⼤的webscraper啦!webscraper提供了⼀种type类型,即elements click,可以轻松解决此类问题,接下来让我们看⼀个具体的实例,我们以亿欧⽹站为例,打开快讯栏⽬,我们可以看到如果要获取更多数据的话,必须点击查看更多才会加载。
与滚动加载场景⼀样,我们在⼀级selector设置element click 的选择器,配置内容如下:
id:选择器名称
type:选择elements click
selector:选择需要抓取的元素,与之前设置⽅式⼀致,选择元素即可
click selector:这⾥选择查看更多的元素,也即我们点击加载按钮的元素。
click type:⼀种为click once,即同⼀个按钮只点击⼀次,⼀种为click more,同⼀个按钮可点击多次,直到按钮发⽣变化为⽌。这⾥我们选择click more,因为需要不断点击查看更多来获取更多数据。
click element uniqueness:判定是否同⼀按钮的条件,主要⽤于停⽌条件的判定,有以下四种类型可选择:
Unique Text - 有同样⽂本内容的按钮被视为同⼀按钮
Unique HTML+Text - 有同样 HTML 和⽂本内容的按钮被视为同⼀按钮
Unique HTML - 有同样 HTML 的按钮被视为同⼀按钮
Unique CSS Selector - 有同样 CSS 选择器的按钮被视为同⼀按钮
Discard initial elements(忽略初始元素)- 选择器不会选中在第⼀次点击按钮前就已经存在的元素。⽤在去重的场景
Delay:这⾥需要按照实际情况配置,如果等待加载的时间配置过短,很容易造成抓取不到数据的情况。
配置完click selector过后,接着在其⼆级⼦selector继续配置想要抓取的数据即可。
>scraper

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。