果然是大过年了闲了蛋疼, 给自己找乐子。写了个很简陋的爬虫,爬校花。请原谅我,性能是硬伤> <
kechenggezi-Spider
有大牛愿意帮忙改进么。。。
![]() | 1 Kirscheis 2016-02-12 19:02:56 +08:00 设备 token 是什么。。没用过课程格子,这个东西是需要用类似 mitm 抓包的方法拿到的吗?还是算法生成的? 另外看到代码 cookie 里写死的_kecheng_session ,确定这个值不会改变吗。。? |
![]() | 2 mianju OP @Kirscheis token 是抓包得到的,_kecheng_session 这个会不会变我也没试过,因为手上只是用了一个账号来做的实验。另外,感觉 token 是假的,我就随便输了个 token ,也是能抓取数据的。 |
![]() | 3 wenyu1001 2016-02-12 19:25:03 +08:00 ![]() 上 gevent or scrapy, 另外需要 code review 。 |
![]() | 5 shyling 2016-02-12 19:27:29 +08:00 为什么我看到性能想入非非= = |
![]() | 8 Kirscheis 2016-02-12 22:00:32 +08:00 @mianju 原来是这样。测试了一下你的爬虫,图片只下载了前二十张就卡住了 (bug?) 。。。单线程下载爬速确实感人。另外返回的图片 url 可以直接去掉后面的 !300x300 ,这样就可以下载到原图了。 |
![]() | 9 Kirscheis 2016-02-12 22:04:41 +08:00 @mianju 我试试加个多线程功能。另外对方返回的本来就是 serialize 了的 json 格式,感觉可以多保存点信息,比如说直接保存 pretty-print 的 jsonline 文件之类的。。 |
![]() | 10 Kirscheis 2016-02-12 23:02:01 +08:00 via Android 发现自己并不会用 python2 。。直接用 scrapy 重构了 |
![]() | 11 icedx 2016-02-12 23:04:22 +08:00 为啥不换个头像呢? |
![]() | 12 mianju OP @Kirscheis 没有吧,我这边是慢慢悠悠的跑完了 9 千多个照片,就是速度慢,括弧哭,非常感谢你的帮助,第一次写爬虫,所以写的很烂,见谅> < |
![]() | 13 gateswong 2016-02-13 02:09:29 +08:00 via Android 性能还好 其实你爬太快的话反而对网站不友好还可能被封 |
![]() | 15 lijsh 2016-02-13 10:46:50 +08:00 看了下楼主代码,好像 request 用了两次?一次用来求 page 总数,一次用来迭代结果页;感觉可以再打磨一下,结果可不可以一页一页出,像 Generator 那样? |
![]() | 16 hqs123 2016-02-13 12:54:27 +08:00 楼主很厉害啊 |
17 xuxiangyang 2016-02-13 14:01:20 +08:00 楼主你好,从我们群里看到了你的帖子,也看了你的 github 。感觉你是个很不错的同学,有没有兴趣来课程格子玩玩爬虫,做做开发呀?有兴趣的话请给我发邮件: [email protected] 课程格子工程师 徐向阳 |
![]() | 18 N4HS3zwwKs7wira0 2016-02-13 14:06:18 +08:00 @xuxiangyang 给多少工资啊 2333 |
19 aksoft 2016-02-13 15:46:29 +08:00 亮点是校花 |
![]() | 20 ahxxm 2016-02-13 17:19:14 +08:00 cookies 丢.gitignore 里吧.... 你这么 commit 上去不太安全 |
![]() | 21 penjianfeng 2016-02-13 19:17:47 +08:00 校花榜...要不我也去爬一下... |
![]() | 22 jackyuJ 2016-02-13 19:20:37 +08:00 = = 你可以再尝试弄个聚类。 |
23 xuxiangyang 2016-02-13 20:18:54 +08:00 @lianxiangru 可以发简历,然后私聊~ |
![]() | 24 mianju OP @xuxiangyang 当然有兴趣> <,没想到第一次做爬虫就能引起课程格子的注意,还担心写爬虫会违法括弧哭。 |
![]() | 27 luw2007 2016-02-14 10:51:19 +08:00 爬取图片没有什么好的办法。 如果过频繁抓取。 会被禁用掉得。 +++ b/xhspider.py @@ -42,12 +42,12 @@ def main(): #以下代码为保存图片 count += 1 cOnn= requests.get(p[i]['avatar_url'], cookies=cookies,headers=headers) - name = str(i) +'.jpg' + name = str(count) +'.jpg' f = open(r'/path/to/save/'+ name,'wb') #填写保存位置 f.write(conn.content) f.close() @Kirscheis 保存的逻辑有问题。 |
![]() | 28 mianju OP |