python爬虫和信息处理

2024-02-04 05:08
文章标签 python 爬虫 信息处理

本文主要是介绍python爬虫和信息处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

rquests模块
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
get 方法 获得网页资源
head方法,获取网页的头部信息,节省带宽;分析大概内容
put方法,向URL上存放资源,URL上原来的资源会全部被覆盖掉
patch方法,也是想url上存放资源,只是改变部分数据,其他数据不受影响
在这里插入图片描述
在这里插入图片描述

如果服务器知道我们是爬虫,可以通过伪装头部信息,来获取数据
在这里插入图片描述

向百度360提交关键词获得搜索结果的方法
1,百度 360都提供了关键词搜索接口
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

图片爬取代码
在这里插入图片描述

beautifulsoup 介绍
在这里插入图片描述
在cmd命令行 输入 pip install beautifulsoup4来安装bs4
然后如下图一样,在模块里面进行引用
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

让我们的html显示易读的格式
在这里插入图片描述
prettify()函数,给html文件标签后面添加换行,当使用print()函数打印时候,显示出来的是标准格式,容易阅读

查找html文件中想要查找的内容,使用bs4的 find_all()函数,返回查找的标签列表
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
获得标签后,提取里面属性值的方法,使用get() 比如get('href')可以获得对于的url字符串

find_all()函数非常常用,所以出现了简写方式就是比如 soup.find_all()可以简写成 soup()就可以了
select()函数,可以通过选择器进行选择一段标签,css的选择器一般都可以放入里面使用,可以返回一个选中的标签列表

正则表达式

import  re

注意:在正则表达式中,出现反斜杠的一般使用原始字符串,比如在字符串前面加r 表示字符串里面的所有字符都是原意

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

爬取淘宝产品的价格和标题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

scrapy框架介绍
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
使用scrapy先创建一个工程
在这里插入图片描述
会在指定的目录下面生成文件

开发scrap爬虫的步骤
在这里插入图片描述
在这里插入图片描述
并在stocks.py里面对spiders模块进行编程处理

在这里插入图片描述
在这里插入图片描述

顺便说一下 生成器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。
如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循环一边计算的机制,称为生成器:generator。
就是一个列表,长度只有运行时候才生成
generator和函数的执行流程不一样。函数是顺序执行,遇到return语句或者最后一行函数语句就返回。而变成generator的函数,在每次调用next()的时候执行(或者循环过程中的一次),遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。
在这里插入图片描述
在这里插入图片描述
其实是遍历一个列表,但是这个列表是动态生成的,只有执行时,才往里面一个一个的放元素,迭代函数,一般和循环连用

在这里插入图片描述
上面的迭代函数,就可以写成这种普通写法

这篇关于python爬虫和信息处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python结合PyWebView库打造跨平台桌面应用

《Python结合PyWebView库打造跨平台桌面应用》随着Web技术的发展,将HTML/CSS/JavaScript与Python结合构建桌面应用成为可能,本文将系统讲解如何使用PyWebView... 目录一、技术原理与优势分析1.1 架构原理1.2 核心优势二、开发环境搭建2.1 安装依赖2.2 验

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python