我的第一个爬虫代码
- 前言
- 一、如何安装需要的第三方包?(配置环境)
-
- 安装第三方库的方法
- 二、如何做到“指哪打哪”
-
- 审查元素的正确打开方式(使用方法)
- 三、编写一个简单爬虫
-
- 爬虫获取bilibil网站首页的前端代码
- 感谢
前言
在前面我们介绍了爬虫的一些基础知识以及它的边界和我们要遵守的规则。
现在你可能对爬虫的了解还是很少很抽象,没关系,接下来让我们开始编写一个简单的爬虫来认识学习它
提示:本文章是基于笔者计算机环境,我用的是anaconda3环境下的pycharm 笔记本系统为win10。python版本3.8.3
一、如何安装需要的第三方包?(配置环境)什么是库呢?老规矩,举个例子你就明白了。
假如你要计算一个极其难的数学题,但是有人推出了这个数学题的公式并改成了代码,你只要把题目里面的数字传进他的代码就可以返回你一个正确答案,并不需要你再计算了,是不是很方便?但是你在使用他的代码的时候需要你导入他的代码,导入后还要调用代码,才能实现目的。
在这里,他编写的代码就是一个库,你用了他的代码就是调用了这个库,你只需要调用就好。对于python来说,它的库非常强大,如果你想要深入学习python务必要学会并习惯调用库。
安装第三方库的方法
(如果已经会了可以跳过因为写的太详细)
pip是Python安装各种第三方库的工具。
接下来我演示一下怎么使用pip
比如我们接下来要用到BeautifulSoup这个第三方库(现在不知道这个是干什么的没关系,在这里你只要知道这是个库就行)那么我们要通过pip下载 打开电脑cmd命令框
打开后是这样
下载库文件的命令是
pip install name
比如下载BeautifulSoup,它的库名为bs4则命令为
pip install bs4
输入命令 回车执行
回车
(如果界面和我的不一样很正常因为我是下载过了)下载完毕可以检测一下
检测方法:
在终端(cmd)输入python3
然后
输入from bs4 import BeautifulSoup
回车
如果不报错 则证明安装完成 。
退出按CTRL+D
有时候网页上的东西并不想全是我们需要的,网页上资源很多,而我们一般是有选择性的抓取。比如说我想下载豆瓣上的某一部电影,怎么才能精准“攻击”只下载我想要的这一部电影呢?
这就需要我们学习一项写爬虫的必备技能:审查元素。
如果有读者学过前端HTML5相关的知识,就知道了 在网页中按下F12可以看见网页的源码
如果你没有学过前端也没关系,我会为你讲解。
审查元素的正确打开方式(使用方法)
以bilibil为例
(在这里不得不提一下,真的是个对于自学者哔哩哔哩十分友好的网站,我关于python,树莓派,算法,c++,还有c的教程都是在b站上自学的,资源丰富选择多。)
这是网页版哔哩哔哩的首页
按下键盘上的F12 或者 按下鼠标右键,检查。 可以看见跳出了一个页面
右边的就是bilibil网站前端的代码了。可以看见在新打开页面的左上角有一个小鼠标 点击它,然后移动到你想要爬取的地方,右边就会选中它对应的前端代码。
如图我选中了它开头的地方
页面上有蓝色斜线的是我选中的,右边灰色的被选中的就是这个地方对应的代码。有了这个功能,我们就能轻松获取我们需要资源的位置及其对应前端代码,方便后期我们“指哪打哪”
还是以bilibil为例
已经看完了这么多理论知识,是不是有点疲倦了,那我们来点实在的。
爬虫获取bilibil网站首页的前端代码
import requests #导入requests包
url="https://www.bilibili.com/"#把bilibil的网址复制过来
req=requests.get(url)
req.encoding='utf-8'#定义编码格式为utf-8
print(req.text)#打印结果
如果没有requests包可以通过pip下载
结果(太多了我只展示一小部分)
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><title>哔哩哔哩 (゜-゜)つロ 干杯~-bilibili</title><meta name="description" content="bilibili是国内知名的视频弹幕网站,这里有及时的动漫新番,活跃的ACG氛围,有创意的Up主。大家可以在这里找到许多欢乐。"><meta name="keywords" content="Bilibili,哔哩哔哩,哔哩哔哩动画,哔哩哔哩弹幕网,弹幕视频,B站,弹幕,字幕,AMV,MAD,MTV,ANIME,动漫,动漫音乐,游戏,游戏解说,二次元,游戏视频,ACG,galgame,动画,番组,新番,初音,洛天依,vocaloid,日本动漫,国产动漫,手机游戏,网络游戏,电子竞技,ACG燃曲,ACG神曲,追新番,新番动漫,新番吐槽,巡音,镜音双子,千本樱,初音MIKU,舞蹈MMD,MIKUMIKUDANCE,洛天依原创曲,洛天依翻唱曲,洛天依投食歌,洛天依MMD,vocaloid家族,OST,BGM,动漫歌曲,日本动漫音乐,宫崎骏动漫音乐,动漫音乐推荐,燃系mad,治愈系mad,MAD MOVIE,MAD高燃">
你们可以在自己的编译器里试一试 看会有怎样的结果
另外 这里用到了requests库 以及其中的get方法
requests 库的基础方法如下:
不要离开,休息,休息一下。
下一章我将继续讲解如何对抓取的代码进行处理,如何解析网页
感谢
部分资料来源于网络他人博客和书本以及网课 在此由衷感谢各位。
如有错误请指正,不胜感激。