Python爬虫教程(从入门到精通)
文章平均质量分 75
睿科知识云
中国航天科工信息系统项目管理高级工程师
取得法律职业资格证书
希望和大家一起学习一起进步
展开
-
Python Scrapy爬虫框架实战应用
Python Scrapy爬虫框架实战应用通过上一节《Python Scrapy爬虫框架详解》的学习,您已经对 Scrapy 框架有了一个初步的认识,比如它的组件构成,配置文件,以及工作流程。本节将通过一个的简单爬虫项目对 Scrapy 框架做进一步介绍。首先看一个简单的示例,比如把 C语言中文网首页的“title”抓取下来,如下所示:<html lang="zh-cn"><head><meta charset="gb2312" /><meta name原创 2022-03-15 12:05:56 · 324 阅读 · 0 评论 -
Python Scrapy爬虫框架详解
Python Scrapy爬虫框架详解Scrapy 是一个基于 Twisted 实现的异步处理爬虫框架,该框架使用纯 Python 语言编写。Scrapy 框架应用广泛,常用于数据采集、网络监测,以及自动化测试等。提示:Twisted 是一个基于事件驱动的网络引擎框架,同样采用 Python 实现。Scrapy下载安装Scrapy 支持常见的主流平台,比如 Linux、Mac、Windows 等,因此你可以很方便的安装它。本节以 Windows 系统为例,在 CMD 命令行执行以下命令:pyt原创 2022-03-15 12:00:19 · 1703 阅读 · 0 评论 -
Python Selenium爬虫实战应用
Python Selenium爬虫实战应用本节讲解 Python Selenium 爬虫实战案例,通过对实战案例的讲解让您进一步认识 Selenium 框架。实战案例目标:抓取京东商城(https://www.jd.com/)商品名称、商品价格、评论数量,以及商铺名称。比如输入搜索“Python书籍”,则抓取如下数据:{'name': 'Python编程 从入门到实践 第2版 人民邮电出版社', 'price': '¥52.50', 'count': '200+条评价', 'shop': '智囊图书专原创 2022-03-15 11:52:08 · 1750 阅读 · 0 评论 -
Python Selenium基本用法
Python Selenium基本用法Selenium 作为一款 Web 自动化测试框架,提供了诸多操作浏览器的方法,本节对其中的常用方法做详细介绍。定位节点Selenium 提供了 8 种定位单个节点的方法,如下所示:定位节点方法方法说明find_element_by_id()通过 id 属性值定位find_element_by_name()通过 name 属性值定位find_element_by_class_name()通过 class 属性值定位f原创 2022-03-14 13:01:34 · 2048 阅读 · 0 评论 -
Python Selenium的下载和安装
Python Selenium的下载和安装Selenium 是一个用于测试 Web 应用程序的自动化测试工具,它直接运行在浏览器中,实现了对浏览器的自动化操作,它支持所有主流的浏览器,包括 IE,Firefox,Safari,Chrome 等。Selenium 支持所有主流平台(如,Windows、Linux、IOS、Android、Edge、Opera等),同时,它也实现了诸多自动化功能,比如软件自动化测试,检测软件与浏览器兼容性,自动录制、生成不同语言的测试脚本,以及自动化爬虫等。本节及后续两节主要原创 2022-03-14 12:52:53 · 7488 阅读 · 0 评论 -
Python BS4解析库用法详解
Python BS4解析库用法详解Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用方便,并且容易理解,因此您可以快速地学习并掌握它。本节我们讲解 BS4 的基本语法。图1:BS4官网LOGO图BS4下载安装由于 Bautiful Soup 是第三方库,因此需要单独下载,下载方式非常简单,执行以下命令即可安装:pip install bs4由原创 2022-03-14 12:45:25 · 1997 阅读 · 0 评论 -
Python爬虫实现Cookie模拟登录
Python爬虫实现Cookie模拟登录在使用爬虫采集数据的规程中,我们会遇到许多不同类型的网站,比如一些网站需要用户登录后才允许查看相关内容,如果遇到这种类型的网站,又应该如何编写爬虫程序呢?Cookie 模拟登录技术成功地解决了此类问题。Cookie 是一个记录了用户登录状态以及用户属性的加密字符串。当你第一次登陆网站时,服务端会在返回的 Response Headers 中添加 Cookie, 浏览器接收到响应信息后,会将 Cookie 保存至浏览器本地存储中,当你再次向该网站发送请求时,请求头中原创 2022-03-14 12:17:15 · 16547 阅读 · 0 评论 -
Python json模块常用方法
Python json模块常用方法JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,遵循欧洲计算机协会制定的 JavaScript 规范(简称 ECMAScript)。JSON 易于人阅读和编写,同时也易于机器解析和生成,能够有效的提升网信息的传输效率,因此它常被作为网络、程序之间传递信息的标准语言,比如客户端与服务器之间信息交互就是以 JSON 格式传递的。简单地说,JSON 可以将 JavaScript 对象表示的一组数据转换为字符串格式,以便于在网络、程序原创 2022-03-14 12:14:33 · 1864 阅读 · 0 评论 -
浏览器实现抓包过程详解
浏览器实现抓包过程详解几乎所有浏览器都提供了抓取数据包的功能,因为浏览器为抓包提供了一个专门的操作界面,因此这种抓包方式也被称为“控制台抓包”。本节以 Chrome 浏览器为例进行抓包演示。控制台抓包指的是利用浏览器开的发者调试工具抓取客户端与后端服务器交互的数据,它能够将网络传输中发送与接收的数据进行截获、重发和编辑。控制台抓包非常适合于 POST 请求类型。我们知道,POST 请求使用 Form 表单向服务器提交数据,通过抓包可以获取 POST 请求体的数据以及相应参数,从而对响应内容进行分析。下原创 2022-03-14 11:53:10 · 14999 阅读 · 0 评论 -
Python lxml解析库实战应用
Python lxml解析库实战应用本节通过编写一个简单的爬虫程序,进一步熟悉 lxml 解析库的使用。下面使用 lxml 库抓取猫眼电影 Top100 榜(点击访问),编写程序的过程中,注意与《Python爬虫抓取猫眼电影排行榜》中使用的正则解析方式对比,这样您会发现 lxml 解析库是如此的方便。确定信息元素结构首先明确要抓取信息的网页元素结构,比如电影名称、主演演员、上映时间。通过简单分析可以得知,每一部影片的信息都包含在标签中,而每一标签又包含在标签中,因此对于dd标签而言,dl标签是一个更原创 2022-03-11 12:43:43 · 1524 阅读 · 0 评论 -
Python lxml库的安装和使用
Python lxml库的安装和使用lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 Xpath 表达式提供了良好的支持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。安装lxml库lxml 属于 Python 第三方库,因此需要使用如下方法安装:pip3 install lxml在 CMD 命令行验证是否安装成功。若引入模块,不返回错误则说明安装成功。>>> import lxml>原创 2022-03-11 12:39:36 · 17681 阅读 · 0 评论 -
Xpath Helper的安装和使用
Xpath Helper的安装和使用为了帮助大家快速掌握 Xpath 表达式的使用,这里给大家推荐一款 Xpath 表达式匹配助软件,它就是 Xpath Helper。Xpath Helper介绍Xpath Helper 是一款谷歌应用商店推出的免费工具,因此您需要在谷歌商店进行下载。下载完毕后,谷歌浏览器会将其作为插件自动安装在扩展程序中,如下所示:图 1:Xpath Helper助手点击扩展程序入口,进入管理扩展程序界面,如下图所示:图 2:Chrome浏览器插件管理界面您也可以通过以原创 2022-03-11 12:34:53 · 2109 阅读 · 0 评论 -
Xpath简明教程(十分钟入门)
Xpath简明教程(十分钟入门)在编写爬虫程序的过程中提取信息是非常重要的环节,但是有时使用正则表达式无法匹配到想要的信息,或者书写起来非常麻烦,此时就需要用另外一种数据解析方法,也就是本节要介绍的 Xpath 表达式。Xpath表达式XPath(全称:XML Path Language)即 XML 路径语言,它是一门在 XML 文档中查找信息的语言,最初被用来搜寻 XML 文档,同时它也适用于搜索 HTML 文档。因此,在爬虫过程中可以使用 XPath 来提取相应的数据。提示:XML 是一种遵守原创 2022-03-11 12:32:25 · 2295 阅读 · 0 评论 -
Proxy SwitchyOmega安装和使用
Proxy SwitchyOmega安装和使用Proxy SwitchyOmega 是一款非常优秀的浏览器插件,适用于 Chrome 和 Firefox,它可以轻松快捷地管理和切换 IP 代理。下载安装插件Proxy SwitchyOmega 下载安装非常简单,除了通过 Chrome 应用商店安装之外,还可以直接访问官方网站下载相应的版本,网址为:https://proxy-switchyomega.com/download/,下载完成后,插件会被自动安装到浏览器扩展程序中,如下所示:图1:Pro原创 2022-03-11 12:19:46 · 20194 阅读 · 2 评论 -
Requests库常用方法及参数介绍
Requests库常用方法及参数介绍Requests 库中定义了七个常用的请求方法,这些方法各自有着不同的作用,在这些请求方法中 requests.get() 与 requests.post() 方法最为常用。请求方法如下所示:常用请求方法方法说明requests.request()构造一个请求对象,该方法是实现以下各个方法的基础。requests.get()获取HTML网页的主要方法,对应于 HTTP 的 GET 方法。requests.head()获取HTML原创 2022-03-11 12:14:25 · 6289 阅读 · 0 评论 -
Python Requests库安装和使用
Python Requests库安装和使用Python 提供了多个用来编写爬虫程序的库,除了前面已经介绍的 urllib 库之外,还有一个很重的 Requests 库,这个库的宗旨是“让 HTTP 服务于人类”。Python requestsRequests 是 Python 的第三方库,它的安装非常简便,如下所示:python -m pip install requestsRequests 库是在 urllib 的基础上开发而来,它使用 Python 语言编写,并且采用了 Apache2 Li原创 2022-03-11 12:05:36 · 23811 阅读 · 2 评论 -
Python Pymysql实现数据存储
Python Pymysql实现数据存储Python 连接并操作 MySQL 数据库,主要通过 Pymysql 模块实现。本节讲解如何将抓取的数据存储至 MySQL 数据库。提示:在学习本节知识之前,您已经掌握了 SQL 语言的基本语法。创建存储数据表首先您应该确定您的计算机上已经安装了 MySQL 数据库,然后再进行如下操作:# 1. 连接到mysql数据库mysql -h127.0.0.1 -uroot -p123456# 2. 建库create database maoyandb ch原创 2022-03-10 12:47:25 · 991 阅读 · 0 评论 -
Python csv模块(读写文件)
Python csv模块(读写文件)CSV 文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV 是电子表格和数据库中最常见的输入、输出文件格式。通过爬虫将数据抓取的下来,然后把数据保存在文件,或者数据库中,这个过程称为数据的持久化存储。本节介绍 Python 内置模块 CSV 的读写操作。CSV文件写入1) csv.writer()csv 模块中的 writer 类可用于读写序列化的数据,其语法格式如下:writer(csvfile, dial原创 2022-03-10 12:38:20 · 2271 阅读 · 0 评论 -
Python re模块用法详解
Python re模块用法详解在 Python 爬虫过程中,实现网页元素解析的方法有很多,正则解析只是其中之一,常见的还有 BeautifulSoup 和 lxml,它们都支持网页 HTML 元素的解析操作。本节重点讲解如何使用 re 正则解析模块实现网页信息的提取。注意:在学习本节知识之前,您应该基本掌握了 Python re 模块的常用方法。re模块常用方法1) re.compile()该方法用来生成正则表达式对象,其语法格式如下:regex=re.compile(pattern,flags原创 2022-03-10 12:32:19 · 6491 阅读 · 0 评论 -
正则表达式基本语法
正则表达式基本语法正则表达式(regular expression)是一种字符串匹配模式或者规则,它可以用来检索、替换那些符合特定规则的文本。正则表达式几乎适用于所有编程语言,无论是前端语言 JavaScript,还是诸如许多后端语言,比如 Python、Java、C# 等,这些语言都提供了相应的函数、模块来支持正则表达式,比如 Python 的 re 模块就提供了正则表达式的常用方法。在使用 Python 编写爬虫的过程中,re 模块通常做为一种解析方法来使用。通过审查网页元素来获取网页的大体结构,然原创 2022-03-10 12:24:44 · 1379 阅读 · 0 评论 -
Python爬虫抓取网页
Python爬虫抓取网页本节讲解第一个 Python 爬虫实战案例:抓取您想要的网页,并将其保存至本地计算机。首先我们对要编写的爬虫程序进行简单地分析,该程序可分为以下三个部分:拼接 url 地址发送请求将照片保存至本地明确逻辑后,我们就可以正式编写爬虫程序了。导入所需模块本节内容使用 urllib 库来编写爬虫,下面导入程序所用模块:from urllib import requestfrom urllib import parse拼接URL地址定义 URL 变量,拼接 url 地原创 2022-03-10 12:13:55 · 4985 阅读 · 0 评论 -
URL编码/解码详解
URL编码/解码详解当 URL 路径或者查询参数中,带有中文或者特殊字符的时候,就需要对 URL 进行编码(采用十六进制编码格式)。URL 编码的原则是使用安全字符去表示那些不安全的字符。安全字符,指的是没有特殊用途或者特殊意义的字符。URL基本组成URL 是由一些简单的组件构成,比如协议、域名、端口号、路径和查询字符串等,示例如下:http://www.ccc.net/index?param=10路径和查询字符串之间使用问号?隔开。上述示例的域名为 www.ccc.net,路径为 index原创 2022-03-10 12:10:46 · 23122 阅读 · 0 评论 -
构建User-Agnet代理池
构建User-Agnet代理池在编写爬虫程序时,一般都会构建一个 User-Agent (用户代理)池,就是把多个浏览器的 UA 信息放进列表中,然后再从中随机选择。构建用户代理池,能够避免总是使用一个 UA 来访问网站,因为短时间内总使用一个 UA 高频率访问的网站,可能会引起网站的警觉,从而封杀掉 IP。自定义UA代理池构建代理池的方法也非常简单,在您的 Pycharm 工作目录中定义一个 ua_info.py 文件,并将以下 UA 信息以列表的形式粘贴到该文件中,如下所示:ua_list =原创 2022-03-10 12:03:51 · 512 阅读 · 0 评论 -
如何审查网页元素
如何审查网页元素对于一个优秀的爬虫工程师而言,要善于发现网页元素的规律,并且能从中提炼出有效的信息。因此,在动手编写爬虫程序前,必须要对网页元素进行审查。本节将讲解如何使用“浏览器”审查网页元素。浏览器都自带检查元素的功能,不同的浏览器对该功能的叫法不同, 谷歌(Chrome)浏览器称为“检查”,而 Firefox 则称“查看元素”,尽管如此,但它们的功却是相同的,本教程推荐使用谷歌浏览器。检查百度首页下面以检查百度首页为例:首先使用 Chrome 浏览器打开百度,然后在百度首页的空白处点击鼠标右键原创 2022-03-09 12:23:42 · 4678 阅读 · 0 评论 -
学习Python爬虫前的准备工作
学习Python爬虫前的准备工作在使用 Python 编写爬虫程序之前,您需要提前做一些准备工作,这样在后续学习过程中才会得心应手。知识准备1) Python语言Python 爬虫作为 Python 编程的进阶知识,要求学习者具备较好的 Python 编程基础。对于没有基础的小伙伴而言,建议阅读《Python基础教程》,这套教程通俗易懂,非常适合初学者学习,并且教程作者亲自答疑解惑,帮您实现 Python 快速入门。同时,了解 Python 语言的多进程与多线程(参考《Python并发编程》),并原创 2022-03-09 12:25:26 · 889 阅读 · 0 评论 -
User-Agent(用户代理)是什么
User-Agent(用户代理)是什么User-Agent 即用户代理,简称“UA”,它是一个特殊字符串头。网站服务器通过识别 “UA”来确定用户所使用的操作系统版本、CPU 类型、浏览器版本等信息。而网站服务器则通过判断 UA 来给客户端发送不同的页面。我们知道,网络爬虫使用程序代码来访问网站,而非人类亲自点击访问,因此爬虫程序也被称为“网络机器人”。绝大多数网站都具备一定的反爬能力,禁止网爬虫大量地访问网站,以免给网站服务器带来压力。本节即将要讲解的 User-Agent 就是反爬策略的第一步。网原创 2022-03-10 11:51:16 · 29026 阅读 · 2 评论 -
静态网页和动态网页
静态网页和动态网页本节我们了解一下静态网页和动态网页的相关概念。如果您熟悉前端语言的话,那么您可以快速地了解本节知识。当我们在编写一个爬虫程序前,首先要明确待爬取的页面是静态的,还是动态的,只有确定了页面类型,才方便后续对网页进行分析和程序编写。对于不同的网页类型,编写爬虫程序时所使用的方法也不尽相同。静态网页静态网页是标准的 HTML 文件,通过 GET 请求方法可以直接获取,文件的扩展名是.html、.htm等,网面中可以包含文本、图像、声音、FLASH 动画、客户端脚本和其他插件程序等。静态网原创 2022-03-09 12:18:03 · 5300 阅读 · 0 评论 -
网络爬虫是什么
网络爬虫是什么网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。认识爬虫我们所熟悉的一系列搜索引擎都是大型的网络爬虫,比如百度、搜狗、360浏览器、谷歌搜索等等。每个搜索引擎都拥有自己的爬虫程序,比如 360 浏览器的爬虫称作 360Spider,搜狗的爬虫叫做 Sogouspider。百度搜索引擎,其实可以更形象地称之为百度蜘蛛(Baiduspider原创 2022-03-09 12:14:12 · 4464 阅读 · 0 评论