安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

08Python原生爬虫教程最简单的爬虫案例开发

9月5日 逆落雪投稿
  前面的学习中我们已经简单了解了一些爬虫所需的知识,这节课我们就来做一个小爬虫来实践下我们前面所学习的知识,这节课我们会爬取慕课网首页所有的课程名称:1。爬取慕课网首页所有课程名称
  我们第一个爬虫程序,是来爬取慕课网的首页的所有课程信息的名字。下面的代码锁使用到的技术有的我们并没有涉及到,后面的学习中我们会一一讲解。这里只是让大家对爬虫程序有个大概的了解,熟悉最基本的爬虫流程,以及对爬虫处理有一个粗略的印象,同时,也是激发大家学习的热情,让大家对爬虫不仅停留在理论上,也可以实际操作去加深印象。1。1建立imoocSpider。py文件
  爬虫文件的命名一定要准确,爬虫爬取的是哪一个网站就用哪一个网站来进行命名,这样以后我们写的爬虫越来越多会方便管理。
  文件创建好之后首先导入requests第三方库和页面解析工具BeautifulSoup:importrequestsrequests库,用来发送网络请求frombs4importBeautifulSoup一个解析库,用来解析网页结构
  Tips:BeautifulSoup我们在后面会讲到,这里只是先用一下。1。2定义网址变量
  定义网址变量url,url中存储的是我们要爬取的网站,这个小爬虫中我们要爬取的网站是:https:www。imooc。com。urlhttps:www。imooc。com慕课网首页地址1。3创建请求头部
  创建请求头部,因为服务器会分辨请求的是浏览器或者是爬虫,如果是爬虫的话会直接断开请求,导致请求失败。为了不让我们的爬虫暴露,所以要给它加上一层伪装,这样服务器就会认为是浏览器在请求了:headers{UserAgent:Mozilla5。0(MIntelMacOSX10115)AppleWebKit537。36(KHTML,likeGecko)Chrome51。0。2704。79Safari537。36}请求头部1。4发起请求
  使用requests库中的get方法来进行请求:rrequests。get(url,headersheaders)发送请求1。5解析请求结果
  因为请求的结果是HTML格式的,所以我们使用BeautifulSoup来解析我们的请求结果:bsBeautifulSoup(r。text,html。parser)解析网页
  在返回的请求结果中,我们想要的数据都是在h3标签中包裹着,所以我们使用BeautifulSoup查找返回结果中所有的h3标签并剥离,存储在变量moocclasses中。moocclassesbs。findall(h3,classcoursecardname)定位课程信息1。6解析数据
  将每一个h3标签中的课程名称剥离,并存储在classlist这个列表中去,最后将课程信息存入到文本文件中:classlist〔〕foriinrange(len(moocclasses)):titlemoocclasses〔i〕。text。strip()classlist。append(课程名称:{}。format(title))格式化课程信息withopen(moocclasses。txt,a)asf:将课程信息写入文本文件中fortextinclasslist:f。write(text)1。7最终代码
  下面就是我们这个小爬虫的最终代码:
  实例演示importrequestsrequests库,用来发送网络请求frombs4importBeautifulSoup这是一个解析库,用来解析网页urlhttps:www。imooc。com慕课网首页地址headers{UserAgent:Mozilla5。0(MIntelMacOSX10115)AppleWebKit537。36(KHTML,likeGecko)Chrome51。0。2704。79Safari537。36}请求头部rrequests。get(url,headersheaders)发送请求bsBeautifulSoup(r。text,html。parser)解析网页moocclassesbs。findall(h3,classcoursecardname)定位课程信息classlist〔〕foriinrange(len(moocclasses)):titlemoocclasses〔i〕。text。strip()classlist。append(课程名称:{}。format(title))格式化课程信息withopen(moocclasses。txt,a)asf:将课程信息写入文本文件中fortextinclasslist:f。write(text)
  上面的程序,就是一个最简单的一个爬虫程序。最后,我们格式化输出的样式,使得输出格式为课程名称慕课网课程名称的样式,最后把结果保存到一个TXT文件里面。最后我们打开TXT文件看一下效果:
  如下图所示:
  Tips:一般在正式的爬虫开发中我们不会把数据存储到文件中去,而是会存储到数据库中,这样才能最大限度的保证数据不会丢失。2。小结
  本小节,通过运用BeautifulSoup以及Requests实现了一个最简单的爬虫程序,关于它们的学习,我们会在后面的章节进行详细论述。这个小程序,只是向大家演示一个最基本的爬虫的工作流程。细心的同学肯定会发现,我们的代码量并不是很多,就轻松实现了一个简单的爬取工作。其实,正式因为使用Python编写爬虫程序的简单方便,才使得Python语言成为了写爬虫程序的首选。
投诉 评论 转载

小米平板5Pro评测时隔三年,小米重拾生产力作者速途网乔志斌俗语有云一日不见,如隔三秋,比喻思慕殷切、度日如年的心情,那么一款真的隔了三个秋天的产品再度迎来更新,它应该如何回应用户的期待,成为了最为关注的话题。……电商不得以商品拆封为由拒绝7日无理由退货最高法发布网络消费纠纷案件司法解释电商不得以商品拆封为由拒绝7日无理由退货为正确审理网络消费纠纷案件,依法保护消费者合法权益,促进网络经济健康持续发展,最高人民法院……简约美学实力出色三星GalaxyTabS7FEWiFi版火热作为安卓大屏平板的标杆产品,三星GalaxyTabS7FE自推出以来就秉持专为便携沉浸娱乐与高效办公设计的初衷,以标志性大屏,自然的书写体验与强悍多任务处理能力,为用户带来诸多……雅虎宣布2月28日起停止中国大陆地区服务(原标题:时代的眼泪!雅虎邮箱:2月28日起停止在中国大陆服务)近日,雅虎Yahoo发布官方通知邮件称,雅虎邮箱将在2月28日停止中国大陆地区服务,在截止日前用户可登陆下……08Python原生爬虫教程最简单的爬虫案例开发前面的学习中我们已经简单了解了一些爬虫所需的知识,这节课我们就来做一个小爬虫来实践下我们前面所学习的知识,这节课我们会爬取慕课网首页所有的课程名称:1。爬取慕课网首页所有课程名……3000包裹柜落地!速卖通波兰站加速扩张包裹自提柜落地波兰速卖通的脚步越来越快了。据外媒Portalspozywczy报道,速卖通(AliExpress)近日宣布已在波兰安装了该公司的首个包裹自提柜。在这……双十一活动将至,iQOOZ1和爱奇艺联名礼盒款考虑一下不知不觉,今年的双十一大促只剩下一天的时间就要结束了,不知道小伙伴们有没有将自己心仪的产品收入囊中呢?每当在这个时期,各大手机厂商也都会纷纷推出各种优惠活动,也会有许多小伙伴们……锂电池CE认证EN62133测试标准锂电池CE认证EN62133测试标准。锂电池是科学技术发展的成果,随着人们对电池蓄电量、环保性等多方面的更高要求,锂电池在很多方面都显示了现代消费者的呼声。锂电池应用的范围很广……特斯拉零跑加码CTC电池技术布置空间增14。5综合续航提升1每经记者:孙磊每经编辑:裴健如当下,越来越多的车企瞄向了动力电池CTC(celltochassis)技术。4月25日,零跑汽车正式发布了CTC技术,通过将电芯直接集……苹果iPhone12一加9TPro参数报价对比手机机型:苹果iPhone12一加9TPro最新价格:6299元即将上市屏幕尺寸:6。1英寸6。7英寸屏幕类型:OLEDAMOLED分辨率:253211……哪儿买二手苹果手机靠谱些?买二手苹果手机靠谱不靠谱这个问题,一般都是很难说,一般要看商家的信誉度。但是要想买到真正的二手苹果手机,自已可以到本市的手机二手市场去看看,有没有自已满意的苹果手机。也可以多看……评一评iPhone12mini小屏仍有市场!难怪出13min众所周知,iPhone12mini是12系列中销量最差的一款。虽然手感好,机身轻薄,但是不支持双卡双待这一点可以说是完美踩雷。我也曾经非常纠结,加点钱入手iPhone12min……
如何看待曾仕强,他是反科学者还是得道高人?在线音乐这半年版权停火,神曲搅局融资丨心景科技完成数千万元A轮融资,幂方资本领投漫聊头戴影院,清晰and轻量一站式解决,GOOVIS酷睿视双特斯拉自动驾驶系统被美国交通安全局调查特粉之家为什么现在不想买旗舰机的人越来越多?网友的评论太真实运动可以降低酒精相关疾病的风险TCL电视质量如何?史无前例!全球变暖获诺贝尔物理学奖,三国科学家共享!关注气候想要将文字转换成语音可行吗?售价过万!三星GalaxyS22Ultra1TB内存版曝光,5年30倍增长,这个涉及隐私的行业开始卷了?

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利