
Python爬虫学习
最近开始零基础学习python,想要学习爬虫内容,本专栏为本人本阶段最活跃的专栏,大家可以相互学习交流,预计一个月学完,欢迎监督
白雪公主的后妈
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python爬虫进阶——案例:模拟bilibili登录)
主要内容:模拟bilibili账号密码登录,不要实现的的实现功能是单击登录按钮,切换登录方式, 输入账号和密码,然后完成图片点击验证,最后单击立即登录按钮。1、第一步:通过selenium模块访问bilibili的登录页面,定位并单击账号登陆按钮,然后分别定位账号和密码输入框,并输入账号和密码。3、第三步:进行按照图形识别顺序进行点击。2、第二步:识别图片中图形的位置。4、第四步:点击确认标签。原创 2025-01-12 21:09:37 · 667 阅读 · 4 评论 -
Python爬虫基础——selenium模块进阶(显示等待和隐式等待)
在用使用selenium模块模拟用户操作浏览器时,浏览器会对加载的网页用到所有的资源发送请求,然而网络堵塞或者服务器繁忙等原因会导致各个资源的加载进度不一致,如果在网上尚未完全加载时就进行标签定位等操作,有可能因为标签不存在而出错。为了解决这一问题,我们需要为程序设置演延时。可使用Python内置的time模块可以实现让程序等待指定的时间,但这种方法需要在网页为加载完毕的地方设置等待。为了简化代码,本次采用selenium模块中定义的两种等待方法:显示等待和隐式等待。原创 2025-01-12 16:07:30 · 1189 阅读 · 0 评论 -
Python爬虫基础——selenium模块进阶(<iframe>标签处理)
标签用于在一个网页中嵌入另一个网页。嵌套的网页可以作为一个独立的部分实现局部刷新,长用于表单的提交和第三方广告的异步加载等。以淘宝为例子,在未登录的条件下,打开一个商品详情页,单击购买按钮,会弹出登录表单。打开开发者工具定位到登录表单,可以看到登录表单存储在标签中,并且有自己的标签、标签和其他标签,相当于一个嵌套在主页面中的子页面。子页面的定位方式,不能使用普通的定位方式,先使用selenium模块中的switch_to_frame()函数原创 2025-01-12 16:05:08 · 612 阅读 · 0 评论 -
Python爬虫基础——selenium模块进阶(模拟鼠标操作)
主要内容包括:模拟鼠标操作。常用的鼠标操作有单击、双击、右击、长按、拖动、移动等,模拟这些操作需要用到selenium模块中的ActionChains类。该类的基本使用方法是将实例化好的WebDriver对象作参数传到该类中,实例化成一个ActionChains对象,然后调用ActionChains对象的函数针对WebDriver对象中的网页元素模拟需要的鼠标操作。调用鼠标操作函数后,不会立即执行操作,而是将操作存储到一个队列中,当调用perform()函数时,再从队列中依次取出各个操作来执原创 2025-01-12 12:08:28 · 1427 阅读 · 0 评论 -
Python爬虫基础——selenium模块基础(使用selenium模块控制浏览器发送请求)
在最新版的pycharm中一个函数进行修改,注意代码中的原始函数和最新函数,借助AI软件可以让你快速进行修正,找到问题。在本节主要是对selenium模块的安装,使用selenium模块访问网页,selenium模块的标签定位,selenium模块的标签操作四个部分进行分析验证。原创 2025-01-10 15:57:49 · 98 阅读 · 0 评论 -
Python爬虫基础——IP反爬虫的应对
主要内容:搭建代理IP池,以及案例说明。这里大概写一下代码思路,具体可以参考具体代码进行自己总结。1、导入数据模块2、确定请求地址3、模拟伪装4、发送请求5、解析数据原创 2025-01-10 09:29:49 · 2539 阅读 · 0 评论 -
Python爬虫基础——案例:爬取当当网的图书销售排行榜
注意:在整个网页爬取的过程中,遇到过图书中没有作者的情况,这是会产生报错;还有一个问题是价格时,将字符串转化为float类型时,有些价格采用1,200.2,这样的方式进行计数时,转化或报错。参考网上方法,对书中所给的代码进行修改。这里采用的是采用BeautifulSoup模块进行数据解析,如果读者觉得这部分难得话可以采用XPath表达式进行数据解析。因人而异,黑猫白猫抓住耗子就是好猫。原创 2025-01-08 19:19:33 · 553 阅读 · 0 评论 -
Python爬虫基础——数据清洗
主要内容:对采集到的原始数据中的缺失值、重复值、异常值或乱码,进行处理。原创 2025-01-08 15:22:52 · 1165 阅读 · 0 评论 -
Python爬虫基础——XPath表达式
1.1etree.parse('HTML文档路径')使用patse()函数对etree进行实例化(已经验证)1.2etree.HTML('网页源码')使用patse()函数对etree进行实例化(已经验证)2、用XPath表达式定位标签并提取数据(动态参数存在问题,爬取静态类没有问题)参考文中代码。3、快速获取标签节点的Xpath表达式(已经验证)2.1定位标签2.1.1标签名定位。2.2提取文本内容和属性值。2.1.4逻辑也能算定位。2.1.2索引定位。2.1.3属性定位。原创 2025-01-08 09:48:31 · 1120 阅读 · 0 评论 -
Python爬虫基础——BeaytifulSoup模块
BeaytifulSoup模块是一个HTML/XML解析器,主要用于解析和提取HTML和XML文档中的数据。该模块不仅支持Python标准库中的HTML解析器, 而且支持许多功能强大的第三方解析器。这里推荐使用lxml解析器,该解析器能将网页中的源代码加载为BeaytifulSoup对象,在使用对象的 方法提取数据。个人感觉这个方式比正则表示好理解,当然熟能生巧,自己选择解析数据方式。原创 2025-01-06 19:32:33 · 449 阅读 · 0 评论 -
Python爬虫基础——案例:爬取豆瓣电影动画排行榜
主要采用了requests模块和json模块来实现豆瓣电影动画排行榜的爬取。原创 2025-01-05 12:19:54 · 422 阅读 · 0 评论 -
Python爬虫基础——requests模块
Python爬虫基础——requests模块原创 2025-01-05 10:23:27 · 1638 阅读 · 1 评论 -
Python爬虫基础——百度新闻页面结构剖析
然后按住F12打开发这工具在“Elements”选项卡中可以看到网页的源代码,如下图1所示。其中放的是该网页的主要内容,标签下又包含4个标签和一些标签,标签主要与JaveScript相关,这里不做具体介绍。1、对应1,位于顶部的百度网站的菜单栏;2、对应2,百度新闻的搜索框;3、对应3,新闻主要内容;原创 2025-01-02 17:57:43 · 1308 阅读 · 0 评论 -
Python爬虫基础——认识网页结构(各种标签的使用)
Python爬虫基础——认识网页结构(各种标签的使用)原创 2025-01-02 17:22:14 · 1609 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——使用Python进行数据分析
由于新版的tushare需要权限,本人只是学习,看一下方法得了,必要再开开权限。这部分一笔带过,由于本人没有验证,不能够保证正确,因此不做笔记。原创 2025-01-02 16:03:21 · 419 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——案例:获取并分析股票历史数据
主要内容:1、第一步:获得历史数据到DataFrame中2、第二步:保存获取的数据到tianye.csv或excel中3、第三步:读取CSV文件,将trade_date列作为行标签,并将该列数据转化为date(日期)类型,以便做数据分析。个人觉得无所谓,转不转话也不耽误第四步。4、第四步:因因为10年前的数据对现在的参考价值不是很大,需要对数据进行实践范围选择,这里只选择20150101-20250101的数据。5、第五步:假设从2015年开始,每个月第一天以开盘价买入1000股该股篇,当月最后一原创 2025-01-02 15:06:59 · 291 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——数据的统计运算
1、数据的统计运算,包括求和、平均值、最值、分别要用到sum()函数、mean()函数、max()函数、min()函数。2、获取数值分布情况,3、计算相关系数,4、分组汇总数据,5、创建数据透视表,原创 2025-01-01 22:55:19 · 371 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——数据表的处理(转置和拼接)
数据表的处理主要是指对数据表格中的数据进行行列转置,将数据表转化为树形结构,对多个数据表进行拼接等操作。1、转置数据表的行列(调用DataFrame对象的T属性来转置行列)2、数据表的拼接(数据表的拼接是指两个或多个数据表合并为一个数据表, 主要会用到pandas模块中的merge()函数、concat()函数、_append()函数。个人感觉第一个经常用,当然这只是个人习惯。)原创 2025-01-01 21:33:13 · 779 阅读 · 0 评论 -
数据的简单处理——pandas模块——读取数据(Excel和csv格式)
使用Pandas模块可以从多种类型的文件中读取数据。本节主要从Excel和csv格式文件中读取数据为例,进行练习。一、读取数据Excel格式主要包括,读取完整表格、读取指定行数据、读取指定列数据。二、读取数据csv格式主要包括,读取完整表格、读取指定行数据。原创 2024-12-29 19:39:32 · 465 阅读 · 0 评论 -
数据的简单处理——pandas模块——查看数据
当使用read_excel()函数或read_csv()函数读取数据斌创建DateFrame对象后,如果想要查看数据的前几行来大致判断数据读取的结果是否满足要求,可以使用DateFrame对象的head()函数来控制要显示行数。当head()不设置参数表示显示前5行。使用shape函数查看行数和列数原创 2024-12-29 19:55:15 · 314 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——数据的查找和替换
数据的高级处理——pandas模块进阶——数据的查找和替换查找和替换是日常工作中很常见的数据预处理操作,下面来讲解如何使用pandas模块中的函数对DataFrame中的数据进行查找和替换。1、查找数据 使用pandas模块中的isin()函数查看DataFrame是否包含某个值。1.1 从整个DataFrame中查找是否包含某个值1.2 使用isin()函数还可以判断某列中是否有某个值2、替换数据2.1 一对一替换2.2、多对一替换2.3、多对一替换原创 2024-12-31 13:19:35 · 283 阅读 · 0 评论 -
数据的高级处理——pandas模块进阶——数据的查找和替换
本章主要讲解pandas模块的进阶用法,包括数据的查找、替换、插入、删除、排序、筛选、运算。原创 2024-12-31 14:36:17 · 573 阅读 · 0 评论 -
数据的简单处理——pandas模块——修改行和列标签
行标签和列标签是查找数据的依据,读取数据后标签不便于我们查找数据,可以修改标签1、使用set_index()函数修改行标签2、使用Renamel()函数重命名行标签和列标签3、通过DataFrame的columns属性和index属性重新赋值来修改行标签和列标签。原创 2024-12-29 21:13:55 · 309 阅读 · 0 评论 -
数据的简单处理——pandas模块——选择数据
要对读取的数据进行编辑,需要先学会选择数据的操作,如果选择行数据、列数据或者同时选择行列数据。原创 2024-12-29 20:47:43 · 237 阅读 · 0 评论 -
数据的简单处理——pandas模块——数据结构(Series和DataFrame对象)
pandas模块是基于Numpy模块开发的。在pandas模块中有两个重要的数据结构对象——Series和DataFrame。使用这两个对象可以在计算机的内存中构建虚拟的数据库。对于Series和DataFrame对象主要有三类,都是包括普通默认的方式、添加行列标签的方式、采用字典创建数据结构的方式。DataFarme是一种二维的数据结构对象,用该对象创建的数据结构在形式上类似与Excel表格。相比于Series对象,DateFarme对象在实际的工作中的应用更加广泛。原创 2024-12-29 17:37:01 · 407 阅读 · 0 评论 -
数组的存储与处理——数组的运算
数组的存储与处理——数组的运算 NumPy模块的优势不仅可以多个维度数据的存储和展示,它还可以很好的支持数组的数学运算,如数组间的四则运算和数组元素的统计运算。原创 2024-12-29 11:00:00 · 168 阅读 · 0 评论 -
数据处的存储与处理——删除数组、处理数组缺失值、重复值、拼接数组、拆分数组
今天是学习Python的第三天,学习了数据的存储和处理中经常用到删除数组,处理数组的缺失值和处理数组的重复值、拼接数组和拆分数组。感觉内容有点多,详细些做一下笔记吧。感觉在后续的爬虫的网址链接或者数据处理中经常用到。原创 2024-12-29 10:32:24 · 328 阅读 · 0 评论 -
数据处的存储与处理——添加数组
数据处的存储与处理——添加数组(Numpy模块中的append()函数和insert()函数)原创 2024-12-28 21:25:11 · 336 阅读 · 0 评论 -
数据处的存储与处理——数组的重塑与转置
数组的重塑:改变数组的形状。例如:将一维数组转化为多维数组(.reshape()),或者将3行4列的二维数组转化为4行3列的二维数组(.reshape()),以及多为数组变为一维数组(.flatten(),.ravel()两个函数)数组的转置:将数组的行旋转为列,将数组的列转化为行(T属性和.transpose()函数两种方法)。两者的元素个数是不会改变的。原创 2024-12-28 20:44:27 · 210 阅读 · 0 评论 -
数据处的存储与处理——数组元素的选取
数组元素可以通过数组的索引值和切片功能来选取。下边主要对一维数组和二维数组进行练习。原创 2024-12-28 20:18:03 · 121 阅读 · 0 评论 -
数组的存储和处理——查看数组属性
查看数组的属性主要包括,数组的行列数(.shape)、元素个数(.size)、数据类型(查看数据类型.dtype,转化数据类型.astype)、数组维数(.ndim)。原创 2024-12-28 19:36:43 · 123 阅读 · 0 评论 -
数据的存储和处理——创建数组
今天是学习python的第二天,感觉已经从C++的习惯中走出来了,适应了python语言的代码规则。今天主要学习Python中Numpy模块中的array()函数以及arange()函数,以及random子模块下的rand()函数、randn()函数,randint()函数。由于函数比较简单,这里通过代码进行展示。原创 2024-12-28 18:36:06 · 315 阅读 · 0 评论 -
Python基础语法知识——模块的导入
Python基础语法知识——模块的导入模块的导入学习 主要为import方式和from方式原创 2024-12-28 11:05:25 · 105 阅读 · 0 评论 -
Python基础语法知识——函数学习
在今后的学习中拼接字符串的方式很重要。本次学习了三种方法,formate()函数、%占位符、f-string方式。原创 2024-12-28 10:43:44 · 123 阅读 · 0 评论 -
Python基础语法知识——控制语句
第一次学习Python写代码容易按照c++的写法写,因此做个联系,俗话说的好熟能生巧,正好有空闲时间联系一下。Python中的控制语句大致分为条件语句和循环语句,前者为if语句,后者为for语句或者while语句。原创 2024-12-27 21:57:44 · 392 阅读 · 1 评论 -
Python基础语法知识——列表、字典、元组与集合
Python基础语法知识——列表、字典、元组与集合列表(list)、字典(dictionary)、元组(tuple)与集合(set)都可以看成存储数据的容器,但是前两者常用,后两者用得相对较少。原创 2024-12-27 21:15:29 · 717 阅读 · 0 评论 -
Python基础语法知识——数据类型的查询、数据类型转化
今天第一次学习python,之前学习过C++,感觉学习起来还可以,就是刚用的时候有点手残,想的是python代码,结果写出来就是C++,本人决定每天抽出时间写点。原创 2024-12-27 19:39:59 · 263 阅读 · 0 评论