利用Scrapy分析某瓣小组帖子信息

利用Scrapy分析某瓣小组帖子信息

背景

最近要换房子,于是在逛某瓣租房,由于租房信息错综复杂(中介较多),于是想能不能利用爬虫将数据抓取下来再通过某种方式进行数据清洗/过滤,达到可以自定义筛选和排除中介的目的。

成果

跳转github查看源码

爬虫部分

本文侧重讲爬虫部分,即原始数据的采集
数据来源于某瓣小组租房

爬取思路

找到一个小组讨论贴的第一页
循环爬取下一页
直到爬取到指定时间结束为止(通过判断每一页的最后一条的时间)

爬取实现

思路有了,实现方法大同小异,取决于自己熟悉什么。
我采取的是Scrapy,自己手写request也可以的
由于github已经有源码了,我就省略一些
主要讲讲遇到的一些问题和思路

主体爬取

如思路所言,设定起始页为小组讨论帖的第一页
提取每一行的数据,并判断结束时间,递归下一页继续爬取
注意从这个页面上能获取到的数据不包括帖子的详情,所以在提取每一行数据的时候
如果需要详情,还需要再额外请求这个帖子的地址,再从新页面拿到帖子的内容

拿到数据以后可以存储到数据库
这里我是通过Scrapy的PipLine实现的,其他的可以写sql插入,类似

反爬

正常爬虫绕不开的就是反爬
这里有几个方面可以处理

  1. cookie,使用随机11位bid,这里是根据网上资料的结论处理的
  1. 随机UA头
  2. 异常重试等机制,针对403和302进行处理
  3. Socks5代理

这一点是比较重要的
如果不加代理爬取,很快就会触发403和302
而且加的必须是Socks5代理,http代理不行(暂不知为啥,可能是防火墙有关系把)
我采用的代理是携趣代理,不充钱每天也有免费1000个ip,充钱也足够便宜

总结

跳转github查看源码

爬虫首先要应对的就是反爬,但要注意有风险,还是要降低一些频率
多搜索,网上基本上都有现成的思路或者代码
除了爬虫部分还写了flutter和后端
flutter就是一个demo
后端做的比较简单,就是一些筛选和过滤
过滤规则比较随意(比如超过10个图片判定为中介)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ikarosxx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值