一个爬虫的过滤问题

2019-07-16 15:25:50 +08:00
 yumenoks
在写个爬取 url 的爬虫,原理大概是从一个起始的 url 开始爬,然后获取整个页面的链接地址,然后顺着收集到的 url 进行广泛的爬取,这里面出现 2 个问题没找到合适的办法解决.
1,会爬去到国外去
2,会爬到蜘蛛池(一种泛站程序,可以无限多的生成 N 个域名的网站类似,asd123.123.com assss.123.com 123.234.com)

目前通过判断标题是否是中文来避免是不是爬到国外的站,
还有一个就是放一个黑名单的表.存在就不爬.
但是蜘蛛池的域名实在太多了,也找不到太多规律的东西进行判断.
V 友们友什么好的建议么?
1745 次点击
所在节点    Python
6 条回复
alanv2
2019-07-16 16:28:37 +08:00
制定 url 的匹配规则(正则),符合规则的 url 才爬,其他的过滤
cwjokaka
2019-07-16 16:35:07 +08:00
设置一个爬取深度
yumenoks
2019-07-16 18:32:50 +08:00
@cwjokaka 只爬去一个 url 的主页的链接,
yumenoks
2019-07-16 18:34:24 +08:00
@alanv2 开始是直接获取整个页面的链接,然后进行过滤,对 URL 的长度,后缀进行了过滤,
如果设置成 域名带有 WWW 的才保存的话,数量就很少.如果不这样设置的话就会跑到蜘蛛池里面去.所以有点尴尬.
ClericPy
2019-07-17 00:49:19 +08:00
国外的有域名就有 ip,有 ip 就有地域吧,一大堆速度超快的 ip 转地域的,淘宝啊搜狐啊腾讯啊
遇到爬虫陷阱爬虫蜜罐或者脏数据混淆等反爬手段,没啥好办法啊,socket 连一下试试域名存在性?控制友好频率上代理池才是正路子,就算撇开是否合法,频率太高会被当作 dos 攻击告你的
yumenoks
2019-07-17 13:30:20 +08:00
@ClericPy IP 倒不是瓶颈,不是针对单站爬行的,每个站只会访问 1-2 次而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/583461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX