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