V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
pandameng
V2EX  ›  Python

豆瓣租房信息爬取过滤

  •  
  •   pandameng · 2019-07-17 11:33:36 +08:00 via Android · 4199 次点击
    这是一个创建于 1957 天前的主题,其中的信息可能已经有所发展或是发生改变。

    #####最近要找房搬家所以启用了去年的爬虫并做了一些修改,现在基本逻辑是:

    1. 标题中带数字的

    1.1 四位数整除 50 除不开的 pass

    1.2 11 位数电话号码 pass

    1. 一级排除关键字,如果含有直接 pass,比如远点的地点、公寓等

    2. 指定范围关键字,如果含有置为符合数据保存

    3. 二级排除关键字,不包含(2,3)但包含二级 pass 掉,不包含二级置为备用数据保存

    一个小组爬 15 页,每页 25 条,每小时爬取一次。

    之前也就爬取 5 个小组的,感觉数据还行,昨天增加到 16 个小组,符合的数据增加了很多,但是很多都是各类大中小型的公寓,整的我以为把个人发布的过滤掉了专门筛选了公寓的数据呢。

    目前思路只能通过排除关键字增加过滤程度,看多了就会发现有些关键字排除型就大点,比如"南北通透|拎包入住"大概率是公寓或者中介,".*大单间"很多也都是公寓,但是同时也会过滤掉个人发布的

    所以大家有没有什么其他思路

    第 1 条附言  ·  2019-07-25 12:30:10 +08:00

    加了几个功能:

    1. 黑名单维护 - 过滤黑名单发的帖子
    2. 手动标记中介公寓 - 帖子标为删除状态,同时置为中介帖子状态留以后分析用,发帖人加入到黑名单
    3. 黑名单关键词 - 包含则加入到黑名单中
    4. 推送关键词 - 包含则推送到微信或tg
    5. 利用余弦相似度过滤一个账号发的好几条同样的帖子

    过滤效果还是挺明显的,不过就是帖子也少了很多,这说明中介太多还是过滤强度太大了呢

    26 条回复    2019-08-12 21:21:52 +08:00
    Rorysky
        1
    Rorysky  
       2019-07-17 13:00:45 +08:00 via iPhone
    豆瓣没有反爬措施?
    guansixu
        2
    guansixu  
       2019-07-17 13:35:01 +08:00
    豆瓣小组找房体验太差了,一个个点进去,还得一个个问问有没有租出去,要是楼主回复的慢点,几天过去了都见得能沟通完。还是找专业的吧。
    dai123456
        3
    dai123456  
       2019-07-17 13:35:02 +08:00
    不需要使用高匿名的 IP 吗?
    snappyone
        4
    snappyone  
       2019-07-17 13:39:21 +08:00
    爬取所有数据->人工标注->机器学习
    pandameng
        5
    pandameng  
    OP
       2019-07-17 13:43:05 +08:00 via Android
    @Rorysky @dai123456 用了一个 ip 池,单进程执行,并且每条都会停顿 0.8s 。不过昨天加了多进程,进程数可能开多了导致 ip 被封了[悲伤]
    pandameng
        6
    pandameng  
    OP
       2019-07-17 13:45:48 +08:00 via Android
    @snappyone 触碰到了盲点 还要去学习机器学习(●—●)
    pandameng
        7
    pandameng  
    OP
       2019-07-17 13:49:39 +08:00 via Android
    @guansixu 不想找公寓 不想多花钱 还有点时间 所以只能自己优化喽
    SeaRecluse
        8
    SeaRecluse  
       2019-07-17 14:08:47 +08:00
    为什么要把 11 位号码去掉呢,好多人比如我留微信的时候就只留个号码
    pandameng
        9
    pandameng  
    OP
       2019-07-17 14:17:10 +08:00 via Android
    @SeaRecluse 标题中的手机号 ,目前为止看到的 95%以上都是中介、公寓管家,个人发帖基本都是在帖子内留个微信号啥的
    brust
        10
    brust  
       2019-07-17 16:58:47 +08:00
    好多小组,那个管理员就是从事中介或者公寓的
    Yang2096
        11
    Yang2096  
       2019-07-17 17:26:14 +08:00
    http://bj.yurixu.com/manage/beijing.php 这个只有北京和上海的, 不知道楼主在哪
    pandameng
        12
    pandameng  
    OP
       2019-07-17 18:14:26 +08:00 via Android
    @Yang2096 不巧 深圳
    icegreen
        13
    icegreen  
       2019-07-17 18:14:34 +08:00
    现在靠谱房源都链家了; 豆瓣真的很难遇到合适的。
    pandameng
        14
    pandameng  
    OP
       2019-07-17 18:15:51 +08:00 via Android
    @brust 所以主要目的就是过滤掉中介公寓的
    不过目前来看可能要上机器学习了
    sodadev
        15
    sodadev  
       2019-07-18 09:21:35 +08:00
    @Rorysky 豆瓣防爬基本等于没有吧。。。
    sodadev
        16
    sodadev  
       2019-07-18 09:22:08 +08:00
    @Yang2096 这个就是我正在用的 上面也有好多中介和二房东。
    Abirdcfly
        17
    Abirdcfly  
       2019-07-18 11:25:48 +08:00
    @Rorysky #1 豆瓣是对爬虫最?友好的网站了。特别过分的才会有封 ip 之类的惩治措施。所以爬虫教学 /入门帖很多是爬豆瓣的 2333
    qw30716
        18
    qw30716  
       2019-07-18 15:15:17 +08:00
    楼主,我也深圳,有机会共享下
    pandameng
        19
    pandameng  
    OP
       2019-07-19 01:11:07 +08:00 via Android
    @qw30716 现在是放在了家里树莓派上 还没整到公网
    twitch
        20
    twitch  
       2019-07-20 10:51:54 +08:00 via Android
    现在豆瓣上的中介有点多
    pandameng
        21
    pandameng  
    OP
       2019-07-20 18:36:46 +08:00 via Android
    @twitch 根据过滤的以及爬取的结果来说 确实很多
    pandameng
        22
    pandameng  
    OP
       2019-07-21 03:39:02 +08:00 via Android
    1.目前新增了黑名单过滤词和黑名单表,爬取分析时会保存疑似中介公寓的发帖人,并在爬取后判断帖子的发帖人是否在黑名单中,感觉过滤了很大一部分
    2,下一步准备看一下查到的资料-余弦相似度,好像是分词对比相似度,过滤掉相似的帖子标题,应该可以用上
    tomxin7
        23
    tomxin7  
       2019-08-01 21:17:17 +08:00
    http://house.jiandan.live/index.html 去年就写了这个,不过过滤规则没有楼主的全,打算最近也要优化一下,太多中介的内容了
    pandameng
        24
    pandameng  
    OP
       2019-08-12 21:10:14 +08:00 via Android
    @tomxin7 巧了, 这个网站前几周还在豆瓣上看着有人推荐过,我还试用了一下。
    不过你的不同 id 发的相同帖子过滤是怎么计算的,直接在数据库中查询相同的内容吗
    tomxin7
        25
    tomxin7  
       2019-08-12 21:12:39 +08:00
    @pandameng #24 我只是简单的对比标题是否相同
    pandameng
        26
    pandameng  
    OP
       2019-08-12 21:21:52 +08:00 via Android
    @tomxin7 哦吼 刚开始我也有这样的过滤,不过好多都会改下标题加字减字的,效果不大就取消了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1076 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 18:31 · PVG 02:31 · LAX 10:31 · JFK 13:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.