python3 爬虫实例_自己动手,丰衣足食!Python3网络爬虫实战案例

2023-10-06 23:30

本文主要是介绍python3 爬虫实例_自己动手,丰衣足食!Python3网络爬虫实战案例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本教程是崔大大的爬虫实战教程的笔记:网易云课堂

Python3+Pip环境配置

用到的IDE是PyCharm,Windows下到官网下载就行(Professional版本):http://www.jetbrains.com/pycharm/download/

Pycharm需要花钱,建议花钱买正版。

Mac我就不写了,因为我没有Mac

MongoDB环境配置

Linux以Ubuntu为例:sudo apt-get install mongodb

Redis环境配置

MySQL环境配置

爬虫的基本原理

什么是爬虫?

爬虫就是请求网站并提取数据的自动化程序

爬虫的基本流程

1.发起请求

2.解析请求

3.获取相应内容

4.保存数据

什么是Request和Response?

1054809-20180420184400967-297412741.png

比如我们在浏览器中输入一个网址

浏览器就会发送消息给该网址所在的服务器,这个过程就叫做HTTP Request

服务器收到浏览器发送的消息后,能够根据浏览器发送消息的内容,做相应处理,然后把消息回传给浏览器。这个过程叫做HTTP Response

浏览器收到服务器的Response信息后,会对信息进行相应的处理,然后展示。

Request中包含什么?

1.请求方式:

主要有GET、POST两种类型,另外还有HEAD、PUT、DELETE、OPTIONS等。

2.请求URL

3.请求头如User-Agent、Host、Cookies等

4.请求体

Responst中包含什么?

1.响应状态

有多种响应状态如200代表成功,301代表跳转,404代表找不到页面,502代表服务器错误

2.响应头

如内容类型,内容长度,服务器消息,设置Cookie等等

3.响应体

主要的部分,包含了请求资源的内容,如网页HTML、图片二进制数据等。

能抓取怎样的数据?

1.网页文本:如HTML文档,Json格式文本等

2.图片:获取的是二进制文件,另存为图片格式

3.视频:同为二进制文件,保持为视频格式即可

4.其他:只有能请求,都能获取

解析方式

1.直接处理

2.Json解析

3.正则表达式

4.BeautifulSoup

5.PyQuery

6.Xpath

7.其他

怎样解决JavaScript渲染的问题

1.分析Ajax请求

2.Selenium/WebDriver

3.Splash

4.PyV8、Fhost.py

怎样保存数据

1.文本:纯文本、Json、Xml等

2.关系型数据库:如MySQL、Oracle、SQL Server等具有结构化表结构形式的存储

3.非关系型数据库:如MongoDB、Redis等Key-Value形式存储

4.二进制文件:如图片、视频、音频等等直接保存成特定格式即可

Urllib库基本使用

Requests库的基本使用

正则表达式与re模块

BeautifulSoup库详解

PyQuery详解

Selenium详解

Requests+正则表达式爬取猫眼电影

这篇关于python3 爬虫实例_自己动手,丰衣足食!Python3网络爬虫实战案例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/154572

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依