访问地址:
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
littleylv 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 @imcocc 😝
|
16
wyan453351466 OP @potatowish 嗯,身份暴露了。。。
|
17
jago 2017-07-22 18:57:43 +08:00 via Android 1
我也爬过,请不要害羞(⊙_⊙)
|
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
sobigfish 2017-07-22 23:53:59 +08:00
应该更深度一点,-。-
机器学习打 tag ; 去重复的; 脸部识别什么的 |
47
wyan453351466 OP @sobigfish 哈哈,是的。现在就没那么智能了,纯粹是根据不同的数据源,还有关键词匹配来打 tag 的
|
48
sobigfish 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 脸部识别去重,别开玩笑了
此外你给的是 face 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 @qq1455018613 😂
|
90
plpptp 2017-08-13 13:02:24 +08:00 via Android
404
|
91
zonzin 2017-08-16 19:42:23 +08:00
说好的开源呢。等
|