最近在爬一个网站,爬取的列表页面,老是有重复值出现,后来仔细研究,对方网站应该是做了反爬设置。
例如列表一共有 100 条数据,A 数据原本出现在第 1 页的,爬完发现 A 数据又在第 2 页随机出现过,导致最后爬取总数据量只有 98 条,存在数据缺失漏爬。
这种情况不仅仅是 A 数据,有可能是 B 数据、C 数据出现这种问题,我感觉应该是对方网站反爬,会随机抽取上一页的某条数据,替换到当前页里面,这样的话是总是缺少数据,导致数据不全。
有大佬遇到过这个问题吗?大家一起交流交流
![]() | 1 A555 2022-10-24 09:15:13 +08:00 ![]() 有没有可能是对方网站 sql 写的有问题呢 这种反爬逻辑有什么意义 |
![]() | 2 dycc2010 2022-10-24 09:20:21 +08:00 有没有可能是对方网站 sql 写的有问题呢 |
![]() | 3 InDom 2022-10-24 09:22:27 +08:00 如果正常浏览和爬虫的数据不一致,那就是你模拟的不够真实。 否则,给对方提 bug 。 |
4 kiolygenius 2022-10-24 09:22:53 +08:00 为什么老是见到把“如何”达成“如果”的错别字,用的不是拼音输入法? |
7 v7788120 OP @kiolygenius 错别字了 |
![]() | 8 InDom 2022-10-24 09:30:51 +08:00 @kiolygenius 如果是手机,九宫格输入法。 gh 都在 4 键上,rg rh 都是 74 ,而且都是高频词,还是句子的开头,联想功能也没用。 至于全键盘或者实体键盘,两个键挨的也确实挺近的。 反正我是经常按错。 |
![]() | 9 biubiuF 2022-10-24 09:45:49 +08:00 这是多维度动态排序 |
![]() | 11 676529483 2022-10-24 10:06:47 +08:00 不像是喂毒,有可能他数据每次调接口值就变了,数据变动的快? |
![]() | 12 watzds 2022-10-24 10:29:31 +08:00 常见 sql bug ,排序不稳定 或者数据变化了 |
14 kiolygenius 2022-10-24 11:44:00 +08:00 @InDom 你们拼音输入法都是用声母缩写啊?嫌全拼重码还不够多吗 |
15 laoyur 2022-10-24 12:34:53 +08:00 v 站至少看过几十个『如果』『如何』用错的案例了 已经见怪不怪 |
16 jifengg 2022-10-24 12:35:33 +08:00 @kiolygenius +1 ,有时候看类似标题实在是费解,你以为他要提出一个假设,然后干什么,结果他是问怎么做,没下文了,看着真难受。比同音字的错别字还难受。 |
17 Jooooooooo 2022-10-24 12:45:46 +08:00 能让你爬出 98 条数据说明对方根本没有反爬的措施. |
18 ZhenShaw 2022-10-24 12:56:33 +08:00 via Android @kiolygenius 类似你的“打成”和“达成” |
19 Blanke 2022-10-24 13:22:09 +08:00 你用正常用户正常环境去访问,看是否有重复情况 |
![]() | 20 yufeng0681 2022-10-24 14:33:56 +08:00 网站不拿出来,让大家看看实际情况? 这种反爬,应该是人家设计好的, 谁没事会看下一页的数据呢?有用的数据在第一页没有,那第二页更加不可能有; 你人手动浏览时,都没法看到第二页有效数据; 爬虫怎么可能超越你的智慧? 有个解决方案是细分再细分检索。把网站有的所有检索条件,充分利用,尽量让检索出来的数据落在 100 以内,多看到一些真实数据(还是不全) |
![]() | 23 neptuno 2022-10-24 18:46:21 +08:00 via iPhone 100 条都让你爬了 98 条,这哪叫反爬呀。应该就是 bug 了 |
![]() | 24 mikewang 2022-10-25 00:39:07 +08:00 ![]() 有没有一种可能,这个列表一直在更新呢 第一页新增了值,后面自然会推后 |