时间:2020年2月14日
环境:windows7
编程语言及版本:Python3.8
IDE:Sublime Text 3
工具:requests,BeautifulSoup,sys
浏览器:Firefox 73.0(64位)
内容:Python3网络爬虫爬取多多看书小说网站,学习如何爬虫
文章目录
前言
在此次的爬虫学习过程中,个人认识到Python,HTML以及Python各种标准库及工具的使用,并掌握基本的计算机网络知识是爬虫所必须具备的基础知识,具体如何使用可在下面具体了解!
1.爬虫原理及基础知识了解
根据百度百科解释,网络爬虫是一种按照一定规则,自动的抓取万维网信息的程序或者脚本;简单来讲,网络爬虫就是自动抓取网页信息的代码,可替代传统意义上繁琐的复制粘贴操作的手段。
根据上文所述,需要明白的是爬虫必须有可视网页和爬虫代码运行环境即可完成!
所以我们需要的基本概念如下:
1.URL 也就是我们的网页链接地址
URL中文称为统一资源定位符,其实可以理解成网页的链接,比如上面的https://www.csdn.net/就是一个URL。
但是广义上的URL不只是我们常见的网页资源链接,而是资源在网页中的定位标识。我们通常说的网页是一个资源,网页中加载的每一张图片也是一个资源,他们在互联网中也有唯一的定位URL,任何图片都有唯一的URL定位符!
通常我们所说的传入URL指的就是把网页的链接传进去。
r = requests.get('https://www.csdn.net/')
此代码段即为将URL传入请求函数
r为Response object 类型,requests相关介绍可参考链接
2.网页请求
平时我们浏览网页时,信息交互的模式大概是什么样的呢?平时在浏览器上浏览网页时,鼠标点了一个链接,比如csdn.net,其实浏览器帮你向这个网页发送了请求(request),维护网页的服务器(可以理解为CSDN公司的一台电脑,在维护CSDN上的各个网页)收到了请求,判断请求有效的话,就会返回响应信息(response)给浏览器,浏览器将这些信息渲染(即处理为交互界面(UI)),就是我们平时所常看到的网页。过程就是这样子的。
而现在爬虫所要做的就是有代码来模拟鼠标点击的过程。上面的requests.get就是让代码帮你向这个网页发送请求,如果请求被服务器判定有效,服务器即会回传信息给你,传送回来的变量被赋值到变量r中,类型为(response 对象)。所以之后r变量中就包含了我们需要的信息。
# -*- coding:UTF-8 -*-
import requests
if __name__ == '__main__':
target = 'https://www.csdn.net'
req = requests.get(url=target)
print(req.text)
运行上述代码,我们查看到的是(截取部分代码如下)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="referrer"content="always">
<meta name="msvalidate.01" content="3189512127C34C46BC74BED5852D45E4" />
<title>CSDN-专业IT技术社区</title>
<meta data-n-head="true" data-hid="description" name="description" content="CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区.">
<script src='//g.csdnimg.cn/tingyun/1.8.3/www.js' type='text/javascript'></script>
<link ref="canonical" href="https://www.csdn.net/">
<link href="//csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON">
<