首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
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
V2EX  ›  Python

一个爬虫的过滤问题

  •  
  •   yumenoks · 37 天前 · 654 次点击
    这是一个创建于 37 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在写个爬取 url 的爬虫,原理大概是从一个起始的 url 开始爬,然后获取整个页面的链接地址,然后顺着收集到的 url 进行广泛的爬取,这里面出现 2 个问题没找到合适的办法解决.
    1,会爬去到国外去
    2,会爬到蜘蛛池(一种泛站程序,可以无限多的生成 N 个域名的网站类似,asd123.123.com assss.123.com 123.234.com)

    目前通过判断标题是否是中文来避免是不是爬到国外的站,
    还有一个就是放一个黑名单的表.存在就不爬.
    但是蜘蛛池的域名实在太多了,也找不到太多规律的东西进行判断.
    V 友们友什么好的建议么?
    6 回复  |  直到 2019-07-17 13:30:20 +08:00
        1
    alanv2   37 天前
    制定 url 的匹配规则(正则),符合规则的 url 才爬,其他的过滤
        2
    cwjokaka   37 天前
    设置一个爬取深度
        3
    yumenoks   37 天前
    @cwjokaka 只爬去一个 url 的主页的链接,
        4
    yumenoks   37 天前
    @alanv2 开始是直接获取整个页面的链接,然后进行过滤,对 URL 的长度,后缀进行了过滤,
    如果设置成 域名带有 WWW 的才保存的话,数量就很少.如果不这样设置的话就会跑到蜘蛛池里面去.所以有点尴尬.
        5
    ClericPy   37 天前
    国外的有域名就有 ip,有 ip 就有地域吧,一大堆速度超快的 ip 转地域的,淘宝啊搜狐啊腾讯啊
    遇到爬虫陷阱爬虫蜜罐或者脏数据混淆等反爬手段,没啥好办法啊,socket 连一下试试域名存在性?控制友好频率上代理池才是正路子,就算撇开是否合法,频率太高会被当作 dos 攻击告你的
        6
    yumenoks   36 天前
    @ClericPy IP 倒不是瓶颈,不是针对单站爬行的,每个站只会访问 1-2 次而已
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1236 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 17:34 · PVG 01:34 · LAX 10:34 · JFK 13:34
    ♥ Do have faith in what you're doing.