V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xpresslink  ›  全部回复第 21 页 / 共 43 页
回复总数  848
1 ... 17  18  19  20  21  22  23  24  25  26 ... 43  
通过搜索引擎只能获取到很有限的一部分链接,所以基本上抓取到的也就很有限。

楼上好几个人在那不断强调“只要人看到的,就能抓到”,“只要有链接就能抓到”,却不明白混淆 ID 就是为了不让你获取全部链接。抓取内容的第一步就是先获取到链接,链接都没拿到还爬个毛线啊。

混淆 ID 就是为了不让你获取全部链接,你让用户也不看不到全部链接么?这么说吧我弄个高级爬虫模拟用户行为,你能防住爬虫就要把用户给防了。你让用户都看不到你网站也没有意义了。


如果还有人要杠,那再举两个例子:
1. 淘宝的绝大多数商品人都能看到,你能把淘宝的绝大多数商品都抓到吗?
这个真要和你杠一下,你举的这个栗子不太合适。理论上是可以的,这个做不到主要原因是淘宝的内容是天量,除了 BAT 之外的公司你说谁有那个小公司有钱能买这么多存储空间。

2. 搜索引擎那里有海量的链接,你能抓到总量的 0.000000001 吗?
技术是可以的,搜索引擎都是大爬虫而已,而且都是采集公开信息,只要我有足够资金弄个建个千度难道不抓到 google 的 0.000000001 吗?
@binux 你说的完全是外行话,搜索引擎本身就是一个大爬虫,去网站上通过页面上的链接来递归爬取信息,并把网页快照等,分类存储在数据库中。
2018-12-17 16:47:26 +08:00
回复了 ntuwang 创建的主题 Python 请教大神们
@552415563 已经有库的情况是可以用 model 的,管理工具有个 inspectdb 功能,直接从已有数据库结构把 Model 给生成了。
@cdwyd 另外呢是不是新的内容,爬虫是定时检测的,会把链接对应的标题做一个特征串存在数据库中,一比对就可以发现哪些是新的帖子。
我前面都说了,绝对防住是不可能的,就是最差的情况下,用 selenium 直接操作浏览器,你根本就识别不出来是爬虫,只是爬得慢点而已。
@cdwyd

那些不显示的并不是删除了,用户也能看得到,可以从链接从搜索引擎来访问,而你却抓取不到那些有价值的内容。
你这句话有低级错误。只要是用户能看到的爬虫就能爬得到。只要有链接就得有页面。
2018-12-17 16:20:20 +08:00
回复了 ntuwang 创建的主题 Python 请教大神们
老外吃沙拉时候不用刀,为什么不用筷子?
都是吃饭的工具只是吃某些方便一些,某些不方便一些。
哪个熟悉就用哪个而已。
2018-12-17 16:13:23 +08:00
回复了 gz911122 创建的主题 Java 为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?
@gz911122 当然有啦

我主要想说国内 java 在 github 贡献并不算少。
hiberate 在互联网大数据高并发的情况下并不太适用,方案太重要学习的东西多只是一方面。
2018-12-17 15:59:49 +08:00
回复了 wszbdyyy 创建的主题 程序员 程序员是咋想的呢
这种狗血的事情太多了。
合伙人被裁是什么操作?
在大多数的创业故事里面,技术合伙人被坑例子太多了。
2018-12-17 15:34:12 +08:00
回复了 wangyihai 创建的主题 Java Java 小白请教
主要其实本质上就两种:服务后端开发 / 安卓应用开发
2018-12-17 15:27:37 +08:00
回复了 gz911122 创建的主题 Java 为什么感觉国内比较流行的 mybatis 在国外好像没人用的样子?
我觉得楼主没有调研过所以才这么说吧。
阿里巴巴连任 Java 全球管理组织席位,
2017 年度开源贡献榜 国内阿里排第一,世界第 9
这个两条新闻说明什么?

另外有一点说一下,在阿里 mysql 的使用有规定,禁止使用外键,存储过程、触发器、函数、视图、事件等 MySQL 高级功能 。
反爬是个很高深的技术,因为你很难在不影响普通用户正常使用的情况下应用反爬方案。要不然成本太高了,比如应用非常强的 AI 识别用户的行为模式。

目前也有一些相对可行的方案,比如 CSS 动态字体之类的。但是无法根本消除爬虫,通常你只能提高一些爬取难度,限制爬取量之类。
通常的做法是在数据表再加一个 Unique 列,插入的时候生成一个 uuid,在页面上和 url 都用 uuid 来调用。
但是这对于反爬来说没有什么卵用,爬虫最基本的入门技术水平就是会翻页取 url 列表。
不用数字 id 而用 uuid 的目的主要是为了不让用户猜到数据增量仅此而已。
2018-12-15 11:11:56 +08:00
回复了 deepreader 创建的主题 Python Python 3 用元编程和 typehints 实现类函数重载 - Pover
@deepreader 当然要静态方法调用啊,直接 类名.方法()
2018-12-14 17:13:12 +08:00
回复了 deepreader 创建的主题 Python Python 3 用元编程和 typehints 实现类函数重载 - Pover
@deepreader 当然可以用在类函数了。
2018-12-14 16:39:50 +08:00
回复了 deepreader 创建的主题 Python Python 3 用元编程和 typehints 实现类函数重载 - Pover
实现上由于 python 是动态语言,传递对象是鸭子类型又可以变长参数,所以用上方法重载的机会不太多。
java 那个有名的 23 种设计模式,大约有 16 种设计模式在动态语言里面根本就不需要了。
2018-12-14 16:35:43 +08:00
回复了 deepreader 创建的主题 Python Python 3 用元编程和 typehints 实现类函数重载 - Pover
from functools import singledispatch

@singledispatch
def add(a:object): pass

@add.register(int)
def _add(a: int): return a + 1

@add.register(list)
def _add(a: list): return a + [1]

@add.register(set)
def _add(a: set): a.add(1); return a

cases=[1, [0], {0}]
for case in cases: print(add(case))
2018-12-14 15:52:50 +08:00
回复了 Rzon 创建的主题 MySQL 如何设计一个“动态”的数据库?
用 mongodb 啊,字段不用对齐。
非要 sql 的,要动态只能设计成表设计成 id,key,value 三个列这种。把对象的属性(列)都变成行,这样就可以动态了。
但是这么做行数变多数量级性能会有一定影响。
@rayingecho 你可以试试银轴,主要特点是 快短软,你女友肯定是不会喜欢的。
@rhwood 打英文和拼音确实有这个问题,于是我用五笔。
1 ... 17  18  19  20  21  22  23  24  25  26 ... 43  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3447 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 24ms · UTC 10:48 · PVG 18:48 · LAX 02:48 · JFK 05:48
Developed with CodeLauncher
♥ Do have faith in what you're doing.