大家好,我是小帅

今天给大家来点最简单的爬虫案例,后续我会再给大家更新一些爬虫相关技能点,请持续关注,另外你的三连是对小帅最大的支持 不过声明一下小帅 发的所有案例都是供大家学习的,不要随便乱用,或者作为商用!

目录

  • 前言
    • 1.1 建立 imoocSpider.py 文件
    • 1.2 定义网址变量
    • 1.3 创建请求头部
    • 1.4 发起请求
    • 1.5 解析请求结果
    • 1.6 解析数据
    • 1.7 最终代码
  • 小结

前言

我们第一个爬虫程序,是来爬取某视频网的所有教程信息的名字。下面的代码锁使用到的技术有的我们并没有涉及到,后面的学习中我们会一一讲解。 这里只是让大家对爬虫程序有个大概的了解,熟悉最基本的爬虫流程,以及对爬虫处理有一个粗略的印象,同时,也是激发大家学习的热情,让大家对爬虫不仅停留在理论上,也可以实际操作去加深印象。
还有一些小案例,25个游戏源码 点击前面蓝色字体自取

1.1 建立 imoocSpider.py 文件

爬虫文件的命名一定要准确,爬虫爬取的是哪一个网站就用哪一个网站来进行命名,这样以后我们写的爬虫越来越多会方便管理。

文件创建好之后首先导入 requests 第三方库和页面解析工具 BeautifulSoup:

import requests   # requests库,用来发送网络请求
​
from bs4 import BeautifulSoup   # 一个解析库,用来解析网页结构
​

Tips:BeautifulSoup 我们在后面会讲到,这里只是先用一下。

1.2 定义网址变量

定义网址变量 url,url 中存储的是我们要爬取的网站

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("课程名称 : {} \n".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.......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("课程名称 : {} \n".format(title)) #格式化教程信息
​
with open('mooc_classes.txt', "a+") as f: # 将教程信息写入文本文件中for text in class_list:f.write(text)
​

**上面的程序,就是一个最简单的一个爬虫程序。**最后,我们格式化输出的样式,使得输出格式为 教程名称+教程网名称的样式,最后把结果保存到一个 TXT 文件里面。最后我们打开 TXT 文件看一下效果:

小结

本小节,通过运用 BeautifulSoup 以及 Requests 实现了一个最简单的爬虫程序,关于它们的学习,我们会在后面的章节进行详细论述。这个小程序,只是向大家演示一个最基本的爬虫的工作流程。细心的同学肯定会发现,我们的代码量并不是很多,就轻松实现了一个简单的爬取工作。其实,正式因为使用Python 编写爬虫程序的简单方便,才使得 Python 语言成为了写爬虫程序的首选

↓ ↓ ↓ ↓ 底下名片拿源码还有学习路线等等...↓ ↓ ↓ ↓????

最简单的爬虫案例开发,Python原生爬虫相关推荐

  1. 【Python爬虫9】Python网络爬虫实例实战

    文章目录 2.1自动化登录Facebook 2.3自动化登录Linkedin 爬取Google真实的搜索表单 爬取依赖JavaScript的网站Facebook 爬取典型在线商店Gap 爬取拥有地图接 ...

  2. Python网络爬虫第一课----Python网络爬虫基础《http和https协议》

    Python网络爬虫第一课----Python网络爬虫基础<http和https协议> 一.HTTP协议 1.官方概念: HTTP协议是Hyper Text Transfer Protoc ...

  3. python3.6下载百度云_Python3.6零基础入门与爬虫案例开发教程

    全网最热的Python3入门+进阶 第1章 Python入门导学 介绍Python的特性.优点.缺点.前景以及课程的内容.重点和特色. 第2章 Python环境安装 一键安装Python的编译环境,写 ...

  4. 一步一步学python爬虫_初学Python之爬虫的简单入门

    初学Python之爬虫的简单入门 一.什么是爬虫? 1.简单介绍爬虫 爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等. 网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据 ...

  5. python原生爬虫爬取熊猫TV LOL主播人气排行

    本文采取phthon原生爬虫,没有采用常用的爬虫框架,比较适合新手练手. 首先进入熊猫TV英雄联盟主页----https://www.panda.tv/cate/lol?pdt=1.24.s1.2.4 ...

  6. python网络爬虫工程师薪资-python网络爬虫工程师找工作应该准备什么?

    系统的学习下,下面三本书都不错,另外可以参考下: 2018最佳人工智能数据采集(爬虫)工具书下载​china-testing.github.io Python网络数据采集 /> /> 本书 ...

  7. php和python写爬虫-为什么选择用python做爬虫

    什么是网络爬虫? 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当 ...

  8. python爬虫抓取图片-python网络爬虫源代码(可直接抓取图片)

    在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标 ...博文来自:zhang740000的博客 P ...

  9. python爬虫的应用-python网络爬虫应用实战

    原标题:python网络爬虫应用实战 Python这门编程语言包罗万象,可以说掌握了python,除了一些特殊环境和高度的性能要求,你可以用它做任何事. Python作为一门脚本语言,它灵活.易用.易 ...

最新文章

  1. Android Studio中的代码格式快捷方式
  2. 【转】指针和引用的区别
  3. JEEWX捷微企业号管家系统发布
  4. zz乱码、编码问题详
  5. 支撑1300+矿井监控,华为云数据库助力打造智能矿山
  6. 计算机二级试题库office选择题,全国计算机二级MSOffice选择题试题库完整
  7. 微博千万级规模高性能高并发的网络架构设计
  8. 把Word文件变成JPG图片?(转)
  9. P2973 [USACO10HOL]赶小猪
  10. 五年之后的前端会是什么样?
  11. 命主属性是水什么意思_算命中红兔 请大师看看“此命盘的主人是 黑马,出生于红兔。日干代表命主,所以属 水”是什么意思...
  12. 幻数 linux_查找第n个幻数
  13. 计算机专业招聘人才的需求,对计算机专业人才需求现状
  14. MS office二级错题记录【3】
  15. 文字下划线从中间往两头延伸动画
  16. 简述一下延时函数delay怎么用
  17. 阳新一中2021高考成绩查询入口,点燃激情,赢在高考----阳新一中2021届高三年级百日誓师暨励志演讲报告会...
  18. windows电脑安装python教程
  19. 绥芬河事业单位计算机,绥芬河市事业单位工资标准
  20. MAX2659低噪声放大器新生儿

热门文章

  1. 配置linux主机开启telnet服务
  2. 微信发红包设计测试用例
  3. MIPS、DMIPS和MFLOPS的定义、区别和联系
  4. AXI DMA总结、内核axidmatest.c测试程序分析、SG mode
  5. 诚之和:什么是异常值?如何在统计数据中查找异常值
  6. python中divmod_python 中的divmod数字处理函数浅析
  7. Git下载安装和简单使用
  8. C++语言程序设计——异常处理12
  9. google chrome 截图
  10. chapter4——时钟分频器