

访问地址:
http://www.yanshuo.me/r/18douban
感觉 PHP 的爬虫并没有比 Python 差多少啊?异步并发爬取、dom 解析什么的 PHP 做起来都毫无压力的好嘛!
下面贴一下代码,自己封装的一个小的爬虫‘框架’(应该还称不上是框架吧,哈哈)。其实核心主要还是基于两个 composer 包,guzzlehttp/guzzle 和 symfony/dom-crawler。自己在应用层面做了一下封装,比如记录日志、断点续爬、失败请求重试、过滤重复请求、404 页面加入 URL 黑名单。

1 lzhr 2017-07-22 17:06:28 +08:00 你是从哪里知道的这些小组 |
3 hizoubin 2017-07-22 17:13:22 +08:00 666 |
4 wyan453351466 OP @lzhr 很简单啊。。你只要找到一个大尺度妹子图小组,比如“女神大本营”。然后不断地点右侧的相关小组就 OK 了。。。可以一直延伸出 N 多的相关小组。。 |
5 akira 2017-07-22 17:17:15 +08:00 好像有图片是重复的 |
6 U7Q5tLAex2FI0o0g 2017-07-22 17:19:29 +08:00 老司机。。。 |
7 hemoely 2017-07-22 17:19:31 +08:00 via Android 老司机以后维护吗 |
8 wyan453351466 OP @hemoely 这是长期维护的项目。提供刚给广大程序员的福利哈 |
9 wyan453351466 OP |
10 xx19941215 2017-07-22 17:36:43 +08:00 求露珠代码学习一下啊 |
11 ek66 2017-07-22 17:37:29 +08:00 via Android 请不要害羞(ò_óˇ) |
12 imcocc 2017-07-22 17:47:14 +08:00 via Android 我们不学习你的代码,我们学习你找图的姿势( o) |
13 potatowish 2017-07-22 17:56:39 +08:00 单身? |
14 wyan453351466   OP @xx19941215 以后我会抽个时间整理一下代码,出一份文档。到时候开源出来哈 |
15 wyan453351466 OP |
16 wyan453351466 OP @potatowish 嗯,身份暴露了。。。 |
17 jago 2017-07-22 18:57:43 +08:00 via Android 我也爬过,请不要害羞(⊙_⊙) |
18 wyan453351466 OP @jago 哈哈,老司机都懂! |
19 ex44559 2017-07-22 19:23:18 +08:00 我简直忍不住说一句:干得漂亮~ |
20 zhucha 2017-07-22 19:57:54 +08:00 请问哪儿有言说邀请码呢? |
21 taby 2017-07-22 20:08:42 +08:00 了 |
22 fhefh 2017-07-22 20:26:30 +08:00 我找了半天 github 地址 |
23 maypu 2017-07-22 20:42:05 +08:00 via Android 有重复的 |
24 chengfu 2017-07-22 20:55:57 +08:00 via iPhone 这是我看各种发网站其中网站看得最久的一次,干得漂亮~ |
25 wyan453351466 OP @chengfu 谢谢! |
26 wyan453351466 OP @zhucha 邀请码过段时间我会发布的哈,网站还有一些功能没做好! |
27 wyan453351466 OP @maypu 对的。这个问题是因为有的妹子在不同的小组发了相同的帖子。。。所以爬取到就重复了,后面会想办法解决! |
28 tgxh 2017-07-22 22:34:38 +08:00 via Android 我用 node 爬请不要害羞动不动被封 ip |
29 HYSS 2017-07-22 22:36:58 +08:00 不怕涉黄? |
30 wenzhoou 2017-07-22 22:39:14 +08:00 via Android @wyan453351466 简单计算 md5 码。如果一样就不用了。或者 2 进制比较,相似度超过 80%就舍弃 |
31 ericgui 2017-07-22 22:40:21 +08:00 代码的 GitHub 地址呢? |
32 fuxkcsdn 2017-07-22 22:42:23 +08:00 via iPhone python 主要有成熟的分布式爬虫框架可用,bs 解析 html 也容易上手,速度也快(至少和 php 的类似程序对比,那快多了) guzzle 个人感觉比 requests 好用多了(速度上没做过对比) |
33 natforum 2017-07-22 22:43:52 +08:00 汤不热比这多,质量杠杆的 |
34 wyan453351466 OP @HYSS 这种不算涉黄吧 又没有露点什么的。露点的内容程序会同步豆瓣原贴删除的 |
35 wyan453351466 OP @fuxkcsdn 解析 HTML 上效率没有对比过,但是功能上 php 中 dom-crawler 的功能和 python 的一些包是一样的,都支持 css-selector 和 xpath。guzzle 的功能很强大,各种情况都考虑进去了,header、cookies 就不用说了,并发爬取也封装的很好的。一般来说爬取瓶颈都在目标网站是否有反爬虫机制,如果没有,开 100 个线程并发爬取速度超快的 () |
36 wyan453351466 OP @wenzhoou 嗯,主要是需要对比图片相似度。标题妹子们起的都不一样。。。 |
37 HYSS 2017-07-22 22:55:48 +08:00 @wyan453351466 你的网站好像不错呢 用的开源的?还是自己的? |
38 wyan453351466 OP @ericgui 代码暂时还没有开源!因为目前还是紧密结合在我自己的项目里。过段时间我会抽离出来单独封装成一个框架,分享给大家。还有也得写一份简易的文档。。 |
39 wyan453351466 OP @HYSS 网站程序是自己写的,所以还有一些功能没做好。。现在正在开发呢。比如评论、通知之类的功能。。 |
40 magensky 2017-07-22 23:19:32 +08:00 via iPhone 其他栏目的热点信息是按照什么标准抓取的? |
41 wyan453351466 OP @tgxh 是会被封 ip 的。我这边也是通过控制爬取频率来解决这个问题的。。每 2 秒钟爬取一个页面。。速度超慢吧?不过还好一个小时可以爬 1000 多个页面了。 |
42 wyan453351466 OP @magensky 按照内容在原网站被喜欢 /赞的数量来评分、爬取的 |
43 xyx119 2017-07-22 23:35:40 +08:00 你这个网站看图太累了,手都给老子点麻了。。。 |
44 linhaijian 2017-07-22 23:38:46 +08:00 老司机求带,坐等开源 |
45 wyan453351466 OP @xyx119 现在确实图片浏览体验不太好。。后期会增加图片浏览模式的 |
46 run2 2017-07-22 23:53:59 +08:00 应该更深度一点,-。- 机器学习打 tag ; 去重复的; 脸部识别什么的 |
47 wyan453351466 OP @sobigfish 哈哈,是的。现在就没那么智能了,纯粹是根据不同的数据源,还有关键词匹配来打 tag 的 |
48 run2 2017-07-23 00:04:16 +08:00 |
49 eyp82 2017-07-23 02:20:52 +08:00 via iPhone 这这这。。。快拿我的补品来! |
50 bumz 2017-07-23 03:47:43 +08:00 @wyan453351466 直接用微信屏蔽图片的方法就能快速图片去重哈希 |
51 bumz 2017-07-23 03:58:38 +08:00 @sobigfish 脸部识别去重,别开玩笑了 此外你给的是 fce detection,不是 face recognition face detection 顶多就是把图片中的脸框起来,对去重有毛用? 至于那些面部识别的先进的网络你先给服务器整个 TitanX 去? |
52 wyan453351466 OP @bumz 不同图片大小(但实际图片相同)的也能识别吗? |
53 insoxin 2017-07-23 08:42:04 +08:00 via Android @wyan453351466 源码分享吗 |
54 wyan453351466 OP @insoxin 过段时间会开源的 |
55 cjjia 2017-07-23 10:15:05 +08:00 via Android 看“最新”栏目,看到一个裸男,简直辣眼睛!!!! |
56 bumz 2017-07-23 10:23:18 +08:00 |
57 zjlin1984 2017-07-23 10:31:10 +08:00 路过,赞。 |
58 coolypf 2017-07-23 11:16:46 +08:00 为什么都是 18+? |
59 wyan453351466 OP @coolypf 18+的意思是 18 岁以下禁止访问。。 |
60 halicando 2017-07-23 11:47:14 +08:00 豆瓣会不会封你的 ip ? |
61 wyan453351466 OP @halicando 爬取快的话会的。所以我控制了爬取频率 |
62 caniuse 2017-07-23 14:14:41 +08:00 第 3 张可以 |
64 loveqianool 2017-07-23 15:40:37 +08:00 也可以爬一下某几个贴吧,比如萝莉吧 |
65 wyan453351466 OP @loveqianool 嗯,以后可以关注下。。其他的高质量的妹子图多的网站。例如 lofter,还有知乎。。 |
66 bumz 2017-07-23 17:02:09 +08:00 |
67 ericgui 2017-07-23 17:08:55 +08:00 @wyan453351466 好的, 等你开源 ,拜读一下 |
68 huage 2017-07-23 17:17:44 +08:00 欢迎写一个探探和他趣的爬虫,各位坐稳了! |
69 ericgui 2017-07-23 17:21:08 +08:00 @wyan453351466 你的这个言说的站,是用 reddit 的开源的代码做的吧?感觉很熟悉的感觉 |
70 wyan453351466 OP @ericgui 对,这个网站的确是模仿的 reddit 网站哈。但是源代码不是用的 reddit 开源的。。是自己写的。。 |
71 qq1455018613 2017-07-23 17:23:21 +08:00 老司机 |
73 ericgui 2017-07-23 17:41:41 +08:00 @wyan453351466 挺牛逼 |
74 SkyKoo 2017-07-23 17:44:09 +08:00 同样的图片应该可以用 MD5 判断下 |
75 wyan453351466 OP @SkyKoo 嗯,回头试一下 |
76 wyan453351466 OP @ericgui 谢谢! |
77 hancc 2017-07-23 21:09:41 +08:00 哎,自从上了 V 站,身体一天不如一天。 |
78 wyan453351466 OP @hancc 哈哈,这句话好眼熟。。 |
79 foursking 2017-07-23 22:01:25 +08:00 楼主 如果我直接爬你的站会介意吗?如果不介意,那就不客气了啊 |
80 wyan453351466 OP @foursking 可以爬,就是希望控制一下爬取频率哈。。。爬太快我怕网站扛不住 |
81 foursking 2017-07-23 22:10:16 +08:00 @wyan453351466 放心放心 |
82 siyiye 2017-07-23 22:17:04 +08:00 来个每月分期打包下载吧~~~ |
83 dreamery 2017-07-23 22:20:35 +08:00 via iPhone 不错 |
84 wyan453351466 OP @siyiye 后期可以考虑搞一个。。传到百度云盘。。 |
85 pagict 2017-07-24 08:07:07 +08:00 via iPhone 我发现豆瓣各个大尺度的小组已成为新手爬虫项目的基本源了 哈哈 |
86 aksoft 2017-07-24 09:35:41 +08:00 还可以并发了? |
87 wyan453351466 OP @aksoft 可以啊。。 |
88 wyan453351466 OP @dreamery 谢谢! |
89 wyan453351466 OP |
90 plpptp 2017-08-13 13:02:24 +08:00 via Android 404 |
91 zonzin 2017-08-16 19:42:23 +08:00 说好的开源呢。等 |