记录webscraper的使用过程

本文介绍了如何使用Webscraper工具进行网页抓取,包括从山东慈善总会网站爬取新闻标题、时间和内容,以及如何应对微博的滚动抓取。在微博部分,详细阐述了如何设置元素滚动选择器来抓取每条微博的简要内容和全文链接,尽管遇到访问限制,但最终成功获取所需数据并将其导出为CSV文件。Webscraper的使用显著提高了工作效率,避免了编写代码的复杂性。
摘要由CSDN通过智能技术生成

这个记录一下webscraper的使用过程。帮朋友爬取山东慈善总会的网页。由于比较简单,我不想写代码了,就用webscraper把。

首先是网站上的新闻,如图:

这个新闻有13页,都是比较简单的网页。问题在于要爬去多个页面,然后提取二级页面的内容。

使用webscraper, 

这里就是需要二级页面的内容,包括title, time, content。links是设置的链接。 页面的链接形式自由最后一个数字在变:

eaa-7aef73cf6329&page=2

如下:

 所以startI_url 就用中括号, 从1-13, 设置步长为1.这样就会爬取13也的新闻标题。

 

 然后,建立一个选择器。设置名字是links, type 这里要选择link,因为是链接,需要点击进去,多选选中,然后点选每一个标题,就可以得到新闻的链接。

 保存这个而选择, 在下面在设置其他三个选择器。

这里需要输入名字是title, 需要点击进入一个二级页面。然后进一步选择标题,时间,内容,逐个设置。

 

 设置好了以后,是这样的。

可以看到他们的父选择器是links。是上面的最开始的新闻目录页。

然后开始愉快的爬取。很快。 

下一步是爬取微博。

微博比较讨厌,一直头大,后来想了想,还是不写代码了。不管写代码和是其他,都得访问微博手机版。因为微博电脑版很麻烦。所以推荐使用手机版。就是在电脑里登陆微博手机版。

比如山东慈善总会的微博。

电脑版是这样的

而,手机版是这样的。

 如果使用代码,那么就需要分析这个地址。

 https://m.weibo.cn/api/container/getIndex?uid=5676362252&t=0&luicode=10000011&lfid=100103type%3D1%26q%3D%E5%B1%B1%E4%B8%9C%E6%85%88%E5%96%84%E6%80%BB%E4%BC%9A&type=uid&value=5676362252&containerid=1076035676362252&since_id=4613643721770979

就是旁边两个xhr应该是都可以。然后变成json,提取内容。也不是很麻烦。但是本着能省事就省事的原则,还是不想写代码。

就用webscraper把。

微博手机版要爬去,需要使用webscraper里面的 元素滚动选择器。

具体是这样的。

 首先新建一个container,他是ellement scroll down ,这里点select,选择每一个微博的卡片。

 

这里需要注意的一点是,首页有一个置顶微博,不用选,如果选它,就会影响后面的一般微博的选择。

select的css是:

div:nth-of-type(n+4) div.card-wrap

其实我是有点怀疑这个css对不对。感觉好复杂,而且不一定能够找到元素。不符合一点简洁的原则,如果写代码的话,我肯定不会这样用css。另外我还加上一个控制元素数量的css, 就是:

nth-of-type(-n+100),这个是通过别的网页看到的。但是这个功能以前我也用过。在代码里面。没想到webscraper里也可以这样用, 就试试吧。

完整的选择器

div:nth-of-type(n+4) div.card-wrap:nth-of-type(-n+100)

滚动100次,提取每一次所有的微博卡片内容。另外,我看有些微博,还有全文链接。手贱又提取了全文的主要内容。

 最后是这样的。

 因位微博是简要内容,所以是brief,如果有全文链接,那么就提取全文。就是href里面的内容。

 href里又弄了一个。

 肿起来是这样的。

不过,webscraper好像没有sleep功能。 我只找到延时,设置了3000ms

 

 后来,微博因位请求太频繁,直接给我

 来了个小鸡, 不过好在山东省慈善总会的内容不多,基本上也爬完了。除了小鸡,我也不纠结了。保存成csv发给同事了

我向应该是我爬取全文,造成访问太频繁的原因。

总体来说还行,webscraper使用确实极大提高了工作效率,不用写头大的代码了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值