求帮我修改一下爬虫,能把它改成多线程的吗?初学 py!求帮帮忙,找的别人的源码!

2015-01-15 13:08:44 +08:00
 POP
# -*- coding: utf-8 -*-
import urllib2
import sys
#BeautifulSoup3不需要修改,BeautifulSoup4,改成from bs4 import BeautifulSoup
from BeautifulSoup import BeautifulSoup

reload(sys)
sys.setdefaultencoding( "utf-8" )

def getcontent(url):
print url
req = urllib2.Request(url)
res = urllib2.urlopen(req)
magnetlist=[]
html = res.read()
res.close()
soup = BeautifulSoup(html)
#BeautifulSoup3不需要修改,BeautifulSoup4,改成soup.find_all('a')
allentry=soup.findAll('a')
for link in allentry:
if "magnet:"==link.get('href')[0:7]:
magnetlist.append(link.get('href'))
magnetlist = [line+'\n' for line in magnetlist]
f =open("magnet.txt", "a")
f.writelines(magnetlist)
f.close()

def main():
site="http://bt.shousibaocai.com/search/"
keyword="地心引力"
keyword=urllib2.quote(keyword)
#总共抓前多少页
page=3
for i in range(1,page):
searchurl=site+keyword+"/"+str(i)
getcontent(searchurl)

if __name__ == '__main__':
main()
#end Jarett
4485 次点击
所在节点    Python
27 条回复
tuuuz
2015-01-15 13:43:23 +08:00
看的好累
POP
2015-01-15 13:47:32 +08:00
(T_T)
mhycy
2015-01-15 14:07:34 +08:00
初学还别人的源码,为何不自己改呢?就是一个学习的过程而已~
Kilerd
2015-01-15 14:21:54 +08:00
python的缩进,一贴上来就全乱了,怎么看,扯淡啊
LZ你压根就不懂py吧,,拒绝伸手党
POP
2015-01-15 14:37:34 +08:00
@Kilerd 算了,我还是自己去改吧。。。贴代码的缩进问题,我还真没注意到
POP
2015-01-15 14:40:40 +08:00
@mhycy 受教了
justjavac
2015-01-15 14:42:54 +08:00
已block
bigtan
2015-01-15 14:47:34 +08:00
http://segmentfault.com/blog/caspar/1190000000414339

参考这个

我自己使用过一次,效果很好
POP
2015-01-15 14:53:19 +08:00
@bigtan 谢谢,我在尝试用线程池改
virusdefender
2015-01-15 15:51:16 +08:00
http://www.virusdefender.net/index.php/archives/84/

把我的代码最下面的 job 函数和循环添加任务的函数换成你的就行了~
Septembers
2015-01-15 16:02:30 +08:00
POP
2015-01-15 17:00:18 +08:00
@virusdefender 我还是先自己改改看。。。谢谢了
lxkaka
2015-01-15 17:17:57 +08:00
python 的多线程无法榨干cpu吧,要用多进程
POP
2015-01-15 17:40:40 +08:00
@lxkaka 我还是先修改源码吧。。。:(
libo26
2015-01-15 18:47:48 +08:00
个人用requests代替urllib2
langxuan
2015-01-15 19:15:15 +08:00
不会是熊厂在过good coder吧。。。囧
Anybfans
2015-01-15 19:41:31 +08:00
为什么没缩进。。。我也初学,PY很注重缩进的。。我一般都是一个tab..不知道对不对,看别人都是4个空格。。
O21
2015-01-15 19:43:25 +08:00
@Anybfans Tab党路过。。
POP
2015-01-15 20:23:28 +08:00
@Anybfans 第一次贴代码。没注意。。。
surewen
2015-01-15 23:10:53 +08:00
要是v2ex支持markdown就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/162375

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX