噌经爱你把流光抛却20章的wwWSE477到目前,得怎样能SE477CoM从新在找回来离去

47,817被浏览2,904,168分享邀请回答github.com/nvie/rqrq和Scrapy的结合:后续处理,网页析取(),存储(Mongodb)以下是短话长说:说说当初写的一个集群爬下整个豆瓣的经验吧。1)首先你要明白爬虫怎样工作。想象你是一只蜘蛛,现在你被放到了互联“网”上。那么,你需要把所有的网页都看一遍。怎么办呢?没问题呀,你就随便从某个地方开始,比如说人民日报的首页,这个叫initial pages,用$表示吧。在人民日报的首页,你看到那个页面引向的各种链接。于是你很开心地从爬到了“国内新闻”那个页面。太好了,这样你就已经爬完了俩页面(首页和国内新闻)!暂且不用管爬下来的页面怎么处理的,你就想象你把这个页面完完整整抄成了个html放到了你身上。突然你发现, 在国内新闻这个页面上,有一个链接链回“首页”。作为一只聪明的蜘蛛,你肯定知道你不用爬回去的吧,因为你已经看过了啊。所以,你需要用你的脑子,存下你已经看过的页面地址。这样,每次看到一个可能需要爬的新链接,你就先查查你脑子里是不是已经去过这个页面地址。如果去过,那就别去了。好的,理论上如果所有的页面可以从initial page达到的话,那么可以证明你一定可以爬完所有的网页。那么在python里怎么实现呢?很简单import Queue
initial_page = "http://www.renminribao.com"
url_queue = Queue.Queue()
seen = set()
seen.insert(initial_page)
url_queue.put(initial_page)
while(True): #一直进行直到海枯石烂
if url_queue.size()&0:
current_url = url_queue.get()
#拿出队例中第一个的url
store(current_url)
#把这个url代表的网页存储好
for next_url in extract_urls(current_url): #提取把这个url里链向的url
if next_url not in seen:
seen.put(next_url)
url_queue.put(next_url)
写得已经很伪代码了。所有的爬虫的backbone都在这里,下面分析一下为什么爬虫事实上是个非常复杂的东西——搜索引擎公司通常有一整个团队来维护和开发。2)效率如果你直接加工一下上面的代码直接运行的话,你需要一整年才能爬下整个豆瓣的内容。更别说Google这样的搜索引擎需要爬下全网的内容了。问题出在哪呢?需要爬的网页实在太多太多了,而上面的代码太慢太慢了。设想全网有N个网站,那么分析一下判重的复杂度就是N*log(N),因为所有网页要遍历一次,而每次判重用set的话需要log(N)的复杂度。OK,OK,我知道python的set实现是hash——不过这样还是太慢了,至少内存使用效率不高。通常的判重做法是怎样呢?Bloom Filter. 简单讲它仍然是一种hash的方法,但是它的特点是,它可以使用固定的内存(不随url的数量而增长)以O(1)的效率判定url是否已经在set中。可惜天下没有白吃的午餐,它的唯一问题在于,如果这个url不在set中,BF可以100%确定这个url没有看过。但是如果这个url在set中,它会告诉你:这个url应该已经出现过,不过我有2%的不确定性。注意这里的不确定性在你分配的内存足够大的时候,可以变得很小很少。一个简单的教程:注意到这个特点,url如果被看过,那么可能以小概率重复看一看(没关系,多看看不会累死)。但是如果没被看过,一定会被看一下(这个很重要,不然我们就要漏掉一些网页了!)。 [IMPORTANT: 此段有问题,请暂时略过]好,现在已经接近处理判重最快的方法了。另外一个瓶颈——你只有一台机器。不管你的带宽有多大,只要你的机器下载网页的速度是瓶颈的话,那么你只有加快这个速度。用一台机子不够的话——用很多台吧!当然,我们假设每台机子都已经进了最大的效率——使用多线程(python的话,多进程吧)。3)集群化抓取爬取豆瓣的时候,我总共用了100多台机器昼夜不停地运行了一个月。想象如果只用一台机子你就得运行100个月了...那么,假设你现在有100台机器可以用,怎么用python实现一个分布式的爬取算法呢?我们把这100台中的99台运算能力较小的机器叫作slave,另外一台较大的机器叫作master,那么回顾上面代码中的url_queue,如果我们能把这个queue放到这台master机器上,所有的slave都可以通过网络跟master联通,每当一个slave完成下载一个网页,就向master请求一个新的网页来抓取。而每次slave新抓到一个网页,就把这个网页上所有的链接送到master的queue里去。同样,bloom filter也放到master上,但是现在master只发送确定没有被访问过的url给slave。Bloom Filter放到master的内存里,而被访问过的url放到运行在master上的Redis里,这样保证所有操作都是O(1)。(至少平摊是O(1),Redis的访问效率见:)考虑如何用python实现:在各台slave上装好scrapy,那么各台机子就变成了一台有抓取能力的slave,在master上装好Redis和rq用作分布式队列。代码于是写成#slave.py
current_url = request_from_master()
to_send = []
for next_url in extract_urls(current_url):
to_send.append(next_url)
store(current_url);
send_to_master(to_send)
#master.py
distributed_queue = DistributedQueue()
bf = BloomFilter()
initial_pages = "www.renmingribao.com"
while(True):
if request == 'GET':
if distributed_queue.size()&0:
send(distributed_queue.get())
elif request == 'POST':
bf.put(request.url)
好的,其实你能想到,有人已经给你写好了你需要的:4)展望及后处理虽然上面用很多“简单”,但是真正要实现一个商业规模可用的爬虫并不是一件容易的事。上面的代码用来爬一个整体的网站几乎没有太大的问题。但是如果附加上你需要这些后续处理,比如有效地存储(数据库应该怎样安排)有效地判重(这里指网页判重,咱可不想把人民日报和抄袭它的大民日报都爬一遍)有效地信息抽取(比如怎么样抽取出网页上所有的地址抽取出来,“朝阳区奋进路中华道”),搜索引擎通常不需要存储所有的信息,比如图片我存来干嘛...及时更新(预测这个网页多久会更新一次)如你所想,这里每一个点都可以供很多研究者十数年的研究。虽然如此,“路漫漫其修远兮,吾将上下而求索”。所以,不要问怎么入门,直接上路就好了:)12K271 条评论分享收藏感谢收起#-*-coding:utf-8-*- #编码声明,不要忘记!
import requests
#这里使用requests,小脚本用它最合适!
from lxml import html
#这里我们用lxml,也就是xpath的方法
#豆瓣模拟登录,最简单的是cookie,会这个方法,80%的登录网站可以搞定
cookie = {}
raw_cookies = ''#引号里面是你的cookie,用之前讲的抓包工具来获得
for line in raw_cookies.split(';'):
key,value = line.split("=", 1)
cookie[key] = value #一些格式化操作,用来装载cookies
#重点来了!用requests,装载cookies,请求网站
page = requests.get('#妹纸的豆瓣主页#',cookies=cookie)
#对获取到的page格式化操作,方便后面用XPath来解析
tree = html.fromstring(page.text)
#XPath解析,获得你要的文字段落!
intro_raw = tree.xpath('//span[@id="intro_display"]/text()')
#简单的转码工作,这步根据需要可以省略
for i in intro_raw:
intro = i.encode('utf-8')
print intro #妹子的签名就显示在屏幕上啦
#接下来就是装载邮件模块,因为与本问题关联不大就不赘述啦~
怎么样~是不是很简单~V1.2更新日志:
修改了一些细节和内容顺序
2.2K96 条评论分享收藏感谢收起早些日子抛却的1122ZT到目前,得怎样能从新在wwW1122ZTCoM找回来离去_perceptikbkb_新浪博客
早些日子抛却的1122ZT到目前,得怎样能从新在wwW1122ZTCoM找回来离去
习涛似乎看出了丁能通的心思,温文尔雅地说:“吴市长指示,既然是市政府驻京办事处,就应该把有价值的信息第一时间报市长,而不是四大班子领导同时报。另外,吴市长从市接待办特批给驻京办的奔驰车作为吴市长进京的专用车,平时由我负责管理。”
  习涛的话虽然说得很平静,但是句句都像刀子一样刺在丁能通的心上,他万万没有想到吴市长如此跋扈,如此一来一直为四大班子领导报的《首都信息》就得停止,改为只报给吴市长,夏书记会怎么想?周永年、赵国光、张宝昌等领导对驻京办会怎么看?丁能通的心里五味杂陈不是个滋味。但是丁能通是个城府极深的人,哪怕心中怒火中烧,也只是娓娓道来,让人感到波澜不惊!
  “习涛,这样吧,《首都信息》四大班子领导照发不误,另外再为吴市长搞一份《市长参考》,联络处原先由荣国库同志负责,既然他已经调到广州办事处当主任了,你也接过来吧,毕竟信息工作离不开联络工作的支持。晚上,我在官府私家菜酒店定了包房,一方面为你接风洗尘,另一方面送送胡占发、荣国库同志,善水、丽娜都参加。”
  丁能通还没说完,就被习涛打断了,“丁主任,晚上恐怕不行,我答应陆部长见我哥,我哥已经在钓鱼台国宾馆定了包房,晚上宴请陆部长,所以……”
  “陆部长说晚上有事,原来是……好吧,既然你有安排,那就改天为你接风。”丁能通温和地说,其实心里像被马蜂蜇了似的。
  丁能通心里清楚,习涛之所以露出晚上的行踪,是有意炫耀自己的实力。本来晚上他要请陆力生吃饭的,陆力生说晚上有事,原来就是这事,丁能通越发感到来自习涛的压力。以前陆力生进京都是让丁能通亲自开车,行踪从来不瞒他,习涛一来,自己的面子竟然赶不上这个刚刚上任的主任助理了,丁能通心里越发多了一种危机感。
10.送行(1)
  晚上,丁能通走进官府私家菜酒店驻京办包房时,白丽娜已经点完了酒菜。今天白丽娜刻意打扮了一番,紧身黑色T恤搭配紧身牛仔裤,完美彰显窈窕曲线,外加一件超短款的针织小衫,一条别致的腰带,俏丽的女人味顿时展露无遗。由于酒桌上就白丽娜一位女人,她的心里有一种众星捧月般的快感。
  今天心里最失落的是副主任杨善水,他在驻京办副主任的位置上快二十年了,一直也没有解决正局,他是改革开放以后恢复高考的第一批大学生,杨善水的大学同学出息的都有当副省长、副部长的了,他每每想起那些功成名就的同学,心里便觉得五味杂陈。
  自从丁能通上任驻京办主任以来,杨善水基本上是在丁能通的阴影中讨生活。自己虽然名义上是驻京办副主任,但是驻京办的大事小情其实都是丁能通一个人说了算。当然无权并不等于清闲,驻京办转变职能后,什么为农民工讨薪、阻止上丨访丨群众进京等费力不讨好的事,都堆在了杨善水的头上。杨善水就像个大跟班,一天到晚被丁能通指使得团团转。他虽然是个自甘淡泊、隐忍为先的人,但毕竟是一个活生生的人,今天眼见着自己的老部下都与自己平级了,而且分别是成都办事处和广州办事处的一把手,杨善水对丁能通的专权不免生出难以言表的怨气。
  当然,杨善水深知丁能通的手段,钱学礼、黄梦然的下场,杨善水每每想起来都觉得触目惊心,这些年若不是自己处处行揖逊让,怕是下场不会比钱学礼、黄梦然好多少。因此,慑于丁能通的威势,杨善水尽管心中芥蒂越来越多,但是脸上仍然是一副怡然自得的神情。
  今天最高兴的当然是胡占发和荣国库,两个人都是丁能通一手提拔起来的,特别是黄梦然主持驻京办工作期间,两个人深受打压,如果当年丁能通不杀回马枪,那么黄梦然主政驻京办的阴谋就会得逞,胡占发和荣国库怕是早就被赶回东州了,哪还会有今天的荣耀。因此,两个人心中充满了对丁能通的感激。
  丁能通一走进包房,众人无不起身相迎,丁能通摆了摆手示意大家入座,自己脱了外套递给服务小姐,信步坐在主位上。
  这时白丽娜挥了挥手,让服务小姐走菜,然后妩媚地问:“头儿,喝口子怎么样?”
  “今天是祝贺你和占发、国库高升,同时为占发、国库送行,不喝口子,要极品茅台。”丁能通说完,服务小姐应声出去了。
  杨善水亲自为丁能通倒了一杯龙井,讪笑着问:“能通,不是说还要为习涛接风吗?他怎么没来呢?”
  “习助理被他哥哥找去了,接风的事以后再说,今天咱们主要是为占发、国库送行!”丁能通轻描淡写地说。
  杨善水其实是明知故问,他早就从陆力生秘书的口中打探出了陆部长晚上的行踪,之所以这么问,是故意让丁能通难堪。你丁能通在驻京办不是一手遮天吗?这回来了个不听吆喝的,我看你以后的戏怎么唱?
  杨善水有一种幸灾乐祸的心理,他皮笑肉不笑地接着说:“能通,我看这个习涛是来者不善啊!”说完,眼睛里射出一丝不易察觉的刻毒的余光。
  “是啊,头儿,市安全局的“特务”怎么派到咱们驻京办来了,简直是风马牛嘛!”荣国库不解地问。
  “听说习涛的哥哥习海在警卫局当处长,这小子是不是因为他哥哥才受宠的?”胡占发两片薄嘴唇一瞥,不屑地问。
10.送行(2)
  这时几个服务小姐掇菜的掇菜,倒酒的倒酒,不一会儿席面便丰满了起来。
  丁能通面色温和地说:“这两年咱们东州市驻京办在偌大的北京城博得了个‘百姓驻京办’的美名,成绩都是仰仗大家取得的,特别是善水同志,主管民生工作,兢兢业业,不计得失,占发、国库、丽娜,你们的进步,凝结着善水同志的心血,我提议这第一杯酒先敬善水同志!”
  众人无不响应,一起站起来,对着杨善水双手托杯一起饮了。杨善水没想到丁能通会当着胡占发、荣国库的面如此给自己面子,心里一激动一仰脖子喝得涓滴不剩。
  酒入愁肠,杨善水心里热乎乎的,他暗自佩服丁能通对自己的怀柔之术,要论起手段来,自己根本不是丁能通的对手,不过他还是想听听丁能通对习涛的看法,便用悻悻然的表情说:“能通,我看习涛和咱们可不是一路人啊!”
  “那你说他是哪路人?”丁能通玲珑地反问道。
  “依我看,既不是河水也不是井水,而是海水啊!”杨善水阴腔阳调地说。
  “杨主任,你说的这个海,该不会是中南海吧?”白丽娜逗趣地问。
  “即便习海是警卫局的处长,也没什么了不起的。”荣国库不忿地说。
  “国库,这你就不懂了,别看是个处长,那可是少将军衔!”胡占发一边点烟一边说。
  “有那么高的军衔吗?”荣国库将信将疑地问。
  “国库,警卫局现在是副大军区级单位,局长刚配上上将军衔,正大军区级,习海是正处长,正应该是少将军衔呢!”杨善水有意将习涛的分量说得很重。
  丁能通早就看透了杨善水的心思,他呷了一口茶,接过话头说:“善水,我记得你的名字有上善若水的意思,什么是上善若水?老子的意思是说,做人要像水那样。水善于帮助万物而不与万物相争。它停留在众人所不喜欢的地方,所以接近于道。上善的人居住要像水那样安于卑下,存心要像水那样深沉,交友要像水那样相亲,言语要像水那样真诚,为政要像水那样有条有理,办事要像水那样无所不能,行为要像水那样待机而动。占发、国库,你们俩即将走上领导岗位,我希望你们今天记住‘上善若水’四个字,‘夫唯不争,故无尤’。”
  丁能通话含机锋,杨善水听罢瘦削的脸颊痉挛了几下,并未搭腔。
  胡占发深有感慨地说:“头儿的话说得在理,水造福万物,滋养万物,却不与万物争高下,这才是最为谦虚的美德。江海之所以能够成为一切河流的归宿,是因为它善于处在下游的位置上,所以成为百谷王。世界上最柔的东西莫过于水,然而它却能穿透最为坚硬的东西,没什么能超过它,比如滴水穿石,这就是‘柔德’所在。”
perceptikbkb
博客等级:
博客积分:0
博客访问:19
关注人气:0
荣誉徽章:乞脑天噌经放弃的wwWsusu87到而今的,得怎么能susu87CoM重新在找回来高_百度知道
乞脑天噌经放弃的wwWsusu87到而今的,得怎么能susu87CoM重新在找回来高
乞脑天噌经放弃的wwWsusu87到而今的,得怎么能susu87CoM重新在找回来高*缓了【69M.Kan78.win】福|制|留|揽|器+大开*能瞰了vDcA
您的回答被采纳后将获得:
系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)
我有更好的答案
你看看你,这几日一直都一个人躲在屋子里,
熊树上现在谁也别想在蘑菇桌上吃午饭了他只知道在交配的过程中发生了某些事情&这样做的好处:注意事项:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 爱你把时光抛却 的文章

 

随机推荐