Python之爬虫入门教程

此教程需要有一定的html基础,了解HTML结构和标签即可,
先写一个简单的 HTML通过编写和修改 HTML,可以更好地理解 HTML 。首先打开一个记事本,然后输入下面的内容:
<html>
<head>
<title> Python 爬虫入门</title>
</head>
<body>
<div>
<p>Python 3爬虫与数据清洗入门</p>
</div>
<div>
<ul>
<li><a href=https://www.isolves.com/it/cxkf/yy/Python/2020-08-12/"http://c.biancheng.net">爬虫
<li>数据清洗</li>
</ul>
</div>
</body>
输入代码后,保存记事本,然后修改文件名和后缀名为"HTML.html";
Version:1.0 StartHTML:000000200 EndHTML:000028810 StartFragment:000000664 EndFragment:000028766 StartSelection:000000668 EndSelection:000028738 SourceURL:http://c.biancheng.net/view/2011.html
使用 requests 库请求网站安装 requests 库首先在 PyCharm 中安装 requests 库,为此打开 PyCharm,单击“File”(文件)菜单,选择“Setting for New Projects...”命令,如图 1 所示 。

Python之爬虫入门教程

文章插图
图1
选择“Project Interpreter”(项目编译器)命令,确认当前选择的编译器,然后单击右上角的加号,如图 2所示 。
Python之爬虫入门教程

文章插图
图2
在搜索框输入:requests(注意,一定要输入完整,不然容易出错),然后单击左下角的“Install Package”(安装库)按钮 。如图 3 所示:
Python之爬虫入门教程

文章插图
图3
安装完成后,会在 Install Package 上显示“Package‘requests’ installed successfully”(库的请求已成功安装),如图 4 所示;如果安装不成功将会显示提示信息 。
Python之爬虫入门教程

文章插图
图4
安装成功
爬虫的基本原理网页请求的过程分为两个环节:
  1. Request (请求):每一个展示在用户面前的网页都必须经过这一步,也就是向服务器发送访问请求 。
  2. Response(响应):服务器在接收到用户的请求后,会验证请求的有效性,然后向用户(客户端)发送响应的内容,客户端接收服务器响应的内容,将内容展示出来,就是我们所熟悉的网页请求,如图 5 所示 。

Python之爬虫入门教程

文章插图
图5
Response相应
网页请求的方式也分为两种:
  1. GET:最常见的方式,一般用于获取或者查询资源信息,也是大多数网站使用的方式,响应速度快 。
  2. POST:相比 GET 方式,多了以表单形式上传参数的功能,因此除查询信息外,还可以修改信息 。

所以,在写爬虫前要先确定向谁发送请求,用什么方式发送 。
使用 GET 方式抓取数据复制任意一条首页首条新闻的标题,在源码页面按【Ctrl+F】组合键调出搜索框,将标题粘贴在搜索框中,然后按【Enter】键 。
标题可以在源码中搜索到,请求对象是地址,请求方式是GET(所有在源码中的数据请求方式都是GET),如图 6 所示 。
Python之爬虫入门教程

文章插图
图6
确定好请求对象和方式后,在 PyCharm 中输入以下代码:
import requests#导入requests包url = 'http://www.cntour.cn/'strhtml = requests.get(url)#Get方式获取网页数据print(strhtml.text)import requests#导入requests包url = 'http://www.cntour.cn/'strhtml = requests.get(url)#Get方式获取网页数据print(strhtml.text)运行结果如图 7所示:
Python之爬虫入门教程

文章插图
图7
运行结果效果图
加载库使用的语句是 import+库的名字 。在上述过程中,加载 requests 库的语句是:import requests 。
用 GET 方式获取数据需要调用 requests 库中的 get 方法,使用方法是在 requests 后输入英文点号,如下所示:
requests.get
将获取到的数据存到 strhtml 变量中,代码如下:
strhtml = request.get(url)
这个时候 strhtml 是一个 URL 对象,它代表整个网页,但此时只需要网页中的源码,下面的语句表示网页源码:
strhtml.text
使用 POST 方式抓取数据首先输入有道翻译的网址:http://fanyi.youdao.com/,进入有道翻译页面 。


推荐阅读