web scraper 爬取微博粉丝性别以及微博内容

web scraper 爬取微博粉丝性别以及微博内容

一.粉丝性别

两个地方要注意:

1. 翻页,由于查看粉丝数限制,如果一直点下一页,会卡在第5页或者第10页,最后数据无法保存。所以还是在url里写上页数范围,这样最后数据可以保存:比如第一页网址:是  weibo.com/p/1005056932774899/follow?relate=fans&page=1#Pl_Official_HisRelation__59, 那直接改为page=[1-5],就可以访问前五页了。

2.过滤性别。性别图标不是text也不是image, 我想的办法是提取那一整行html,然后regex f*e*male,这样就能提取male或者female,如下图:

 

二.微博内容:

1.翻页继续选择上述方法

2.展开全文的爬取:

先element scroll 滚到底:

 

然后直接提取展开全文之前的所有微博内容,由于我想分开提取每条微博内容和时间,所以先抓取所有element,选的时候连续选中两个微博框就能分条选中所有微博了:

 

在这个all目录下创建两个selector,一个提取text,一个提取时间。如果年份是当前年份,微博会自动忽略年份,我想要完整时间,所以没有直接提取时间text,而是提取时间那一行html,然后利用正则匹配提取完整时间 [0-9]{4}(\-[0-9]{2}){2}\ [0-9]{2}\:[0-9]{2}……(ps:这个应该有更简单的正则,但是不太熟练不会)。

这样就能提取所有微博了到处为result1.csv。

但是对于需要展开全文的并没有处理。我处理方法是,在一页滚到底之后,再提取所有展开全文链接:

在这个提取链接selector目录下,再新建两条selector,一个提取text,一个提取时间。爬出结果为result2.csv。

将第一份结果筛选删除包含展开全文的行,再把第二份粘贴到第一份,就最终得到所有微博。

 

 

 

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值