范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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

  前面的学习中我们已经简单了解了一些爬虫所需的知识,这节课我们就来做一个小爬虫来实践下我们前面所学习的知识,这节课我们会爬取慕课网首页所有的课程名称: 1. 爬取慕课网首页所有课程名称
  我们第一个爬虫程序,是来爬取慕课网的首页的所有课程信息的名字。下面的代码锁使用到的技术有的我们并没有涉及到,后面的学习中我们会一一讲解。这里只是让大家对爬虫程序有个大概的了解,熟悉最基本的爬虫流程,以及对爬虫处理有一个粗略的印象,同时,也是激发大家学习的热情,让大家对爬虫不仅停留在理论上,也可以实际操作去加深印象。 1.1 建立 imoocSpider.py文件
  爬虫文件的命名一定要准确,爬虫爬取的是哪一个网站就用哪一个网站来进行命名,这样以后我们写的爬虫越来越多会方便管理。
  文件创建好之后首先导入 requests 第三方库和页面解析工具 BeautifulSoup: import requests   # requests库,用来发送网络请求  from bs4 import BeautifulSoup   # 一个解析库,用来解析网页结构
  Tips :BeautifulSoup 我们在后面会讲到,这里只是先用一下。 1.2 定义网址变量
  定义网址变量 url,url 中存储的是我们要爬取的网站,这个小爬虫中我们要爬取的网站是:https://www.imooc.com。 url = "https://www.imooc.com" #慕课网首页地址 1.3 创建请求头部
  创建请求头部,因为服务器会分辨请求的是浏览器或者是爬虫,如果是爬虫的话会直接断开请求,导致请求失败。为了不让我们的爬虫暴露,所以要给它加上一层伪装,这样服务器就会认为是浏览器在请求了: headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36"} # 请求头部 1.4 发起请求
  使用 requests 库中的 get 方法来进行请求: r = requests.get(url, headers= headers) # 发送请求 1.5 解析请求结果
  因为请求的结果是 HTML 格式的,所以我们使用 BeautifulSoup 来解析我们的请求结果: bs = BeautifulSoup(r.text, "html.parser")   # 解析网页
  在返回的请求结果中,我们想要的数据都是在  h3   标签中包裹着,所以我们使用 BeautifulSoup 查找返回结果中所有的  h3   标签并剥离,存储在变量 mooc_classes 中。 mooc_classes = bs.find_all("h3", class_="course-card-name") # 定位课程信息 1.6 解析数据
  将每一个  h3   标签中的课程名称剥离,并存储在  class_list   这个列表中去,最后将课程信息存入到文本文件中: class_list = []  for i in range(len(mooc_classes)):     title = mooc_classes[i].text.strip()     class_list.append("课程名称 : {}  ".format(title)) #格式化课程信息  with open("mooc_classes.txt", "a+") as f: # 将课程信息写入文本文件中     for text in class_list:         f.write(text) 1.7 最终代码
  下面就是我们这个小爬虫的最终代码:
  实例演示 import requests   # requests库,用来发送网络请求  from bs4 import BeautifulSoup   # 这是一个解析库,用来解析网页  url = "https://www.imooc.com" #慕课网首页地址  headers = {"User-Agent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36"} # 请求头部  r = requests.get(url, headers= headers) # 发送请求  bs = BeautifulSoup(r.text, "html.parser")   # 解析网页  mooc_classes = bs.find_all("h3", class_="course-card-name") # 定位课程信息  class_list = []  for i in range(len(mooc_classes)):     title = mooc_classes[i].text.strip()     class_list.append("课程名称 : {}  ".format(title)) #格式化课程信息  with open("mooc_classes.txt", "a+") as f: # 将课程信息写入文本文件中     for text in class_list:         f.write(text)
  上面的程序,就是一个最简单的一个爬虫程序。最后,我们格式化输出的样式,使得输出格式为  课程名称+慕课网课程名称 的样式,最后把结果保存到一个 TXT 文件里面。最后我们打开 TXT 文件看一下效果:
  如下图所示:
  Tips :一般在正式的爬虫开发中我们不会把数据存储到文件中去,而是会存储到数据库中,这样才能最大限度的保证数据不会丢失。 2. 小结
  本小节,通过运用 BeautifulSoup 以及 Requests 实现了一个最简单的爬虫程序,关于它们的学习,我们会在后面的章节进行详细论述。这个小程序,只是向大家演示一个最基本的爬虫的工作流程。细心的同学肯定会发现,我们的代码量并不是很多,就轻松实现了一个简单的爬取工作。其实,正式因为使用Python 编写爬虫程序的简单方便,才使得 Python 语言成为了写爬虫程序的首选。

每天卖出一万支!核工厂的雪糕才是真的好吃504真的好吃?在甘肃兰州,仅需四毛钱,就能够尝到夏天的味道,这款雪糕被称为中国最硬核雪糕。这也让无数人知道了原来兰州不止有拉面,还有504雪糕。对于现在的我们,大多数知道504胶燕氏观点日本小说推理家东野圭吾东野圭吾(,HigashinoKeigo)日本推理小说天王。1958年2月4日出生于日本大阪。毕业于大阪府立大学电气工学专业,之后在汽车零件供应商日本电装担任生产技术工程师,并进行美国出境旅客必须进行生物认证主要机场100面部识别海关出入境一直是在美华人所关注的话题,排长队等候严肃的海关人员进行讯问几乎是每个来美华人都经历过的场景。日前,美国海关推出了人脸识别技术,或将简化入关过程,但是也将用于出境系统。该洛杉矶华女艰辛回国路公务舱饥寒交迫行李被翻或染病毒新冠疫情肆虐,美国从2月封国开始至今仍无法有效控制病毒蔓延,这也让不少赴美探亲的老人们无法如期返回。一位滞留洛杉矶6个多月的W女士,于11月搭乘南方航空的航班从洛杉矶返回广州,除了华人武装严实去购物直击十个门亚凯迪亚Mall黑五抢购盛况今年的感恩节假期,由于疫情空前严重,政府要求民众停止聚会不要旅行,黑色星期五似乎成了这个感恩节唯一能让民众外出的理由。为了了解黑五加州各地民众的抢购盛况,洛杉矶华人资讯网记者多路出移民局审批变宽松拜登或全盘推翻川普政策留学生H1B迎利好随着联邦总务局(GSA)通知拜登当选为总统,拜登的各项改革计划也即将浮出水面,其中华裔尤为关心的当属移民政策。拜登竞选时曾承诺,在上任百日内,便会大刀阔斧地改革川普的移民政策。但评纽森宣布宵禁计划南加所有县周六执行加州州长纽森周四下午宣布,将对加州大部分县实施宵禁,禁令将于周六晚10点开始生效,一直会持续到12月21日早上5点。宵禁暂时只适用于疫情较为严重的紫色等级区域,目前南加州所有县均处实拍洛杉矶超市中卫生纸又遭抢购多家超市已无货可卖图3月中旬,在洛杉矶县宣布进入紧急状态后,超市所有有储备功能的商品都被抢购人群一扫而空。(本网资料图)洛杉矶华人资讯网11月24日报道,在加州,疫情已经严重到触发了三周宵禁的程度。华男抱怨女邻居在家裸奔逗狗!律师美国性骚扰执法男女有别洛杉矶华人资讯网11月20日报道(记者Annie)家住奇诺岗(ChinoHills)的徐先生最近为一件事情烦恼,他发现住在隔壁的女邻居喜欢在家一丝不挂,甚至在院子里喂狗逗狗的时候也洛杉矶戒严颁布临时居家禁令!11月30日生效持续三周新冠病毒在全美持续蔓延,住院人数也在今天首次突破9万人。CDC警告称,疫情可能比之前报道的更加严重,实际感染人数几乎是现有报告病例数的8倍!但因处于感恩节假期,沙漠奥莱的抢购热潮并华男爆料亚马逊黑五促销有猫腻涨价50!6成商品都涨价黑五如约而至,因为新冠不少华裔不再去奥特莱斯抢购,而是在家里网上血拼。但是华裔孙先生发现,今年的黑五似乎有些猫腻他之前在Amazon买的商品有60左右在黑五这天都涨价了,有些甚至上
随手划去,皆是光明CYANSKYK3手电前几天分享了M3,有小伙伴关注CYANSKY。今天就再分享下这款K3战术远射手电。这是一款双开关战术远射手电,设计的初衷是为了搜索救援执法等场景。在国外的相关市场是比较受欢迎的一款免费WiFi的套路,亟待完善监管来堵住孔德淇最近,许多免费WiFi的广告在手机上频繁出现。手机应用市场上,打着提供免费WiFi连接服务的应用程序也比比皆是。真的可以免费吗?背后藏着什么猫腻呢?315信息安全实验室对此展MITTR榜单发布,2022全球十大突破性技术,哪些与生物相关?编译徐冉2月23日,著名科技杂志麻省理工科技评论推出了年度十大突破性技术(10BreakthroughTechnologies)。这一榜单已创办了21年之久,榜单上的科学家企业家凭走进苹果的缔造者乔布斯的魔力演讲乔布斯的演讲思路是独特的。大多数人的演讲思路是WWH(WhatWhyHow),讲什么,为什么讲,怎么讲!乔布斯的演讲思路是WHW,为什么讲,怎么讲,讲什么!WWH的演讲思路是以演讲JavaScript短小精悍的代码片段获取随机布尔值(TrueFalse)使用Math。random()会返回0到1的随机数,之后判断它是否大于0。5,将会得到一个50概率为True或False的值constrando用户炸锅,鸿蒙新机发布,骁龙778G卖4088元!谁还支持华为?华为就是中国的高端,无可置疑。昨天去给老妈买手机,把所有国产品牌试了个遍。由于老妈不想买太贵的手机,最后买了荣耀。在看手机的过程中,我拿自己的mate20X跟一众手机对比,无论是做对面试必问tcp还是一知半解?最浅显易懂的高并发架构TCP知识详解做为一个有追求的程序员,不能只满足增删改查,我们要对系统全方面无死角掌控。掌握了这些基本的网络知识后,相信一方面日常排错中会事半功倍,另一方面日常架构中不得不考虑的高并发问题,理解Spring系列(八)Spring生命周期中BeanPostProcessor接口用法今天给大家介绍BeanPostProcessor接口用法,希望对大家能有所帮助!1BeanPostProcessor概念介绍BeanPostProcessor接口通常被称为Bean基于Gin进行模块化设计的API框架,致力于进行快速的业务研发一开源项目简介基于Gin进行模块化设计的API框架,封装了常用功能,使用简单,致力于进行快速的业务研发。比如,支持cors跨域jwt签名验证zap日志收集panic异常捕获tracJavaLambda表达式详解(非常全面)JavaLambda表达式是JDK8引入的,是一个比较重要的特性。mikechenLambda表达式简介Lambda表达式是JDK8的一个新特性,也被称为闭包,Lambda表达式允大厂面试题详解如何用Redis实现分布式锁?说一道常见面试题使用Redis分布式锁的详细方案是什么?一个很简单的答案就是去使用Redission客户端。Redission中的锁方案就是Redis分布式锁得比较完美的详细方案。