如何利用python爬取网页内容

如何利用python爬取网页内容,第1张

利用python爬取网页内容需要用scrapy(爬虫框架),但是很简单,就三步

定义item类

开发spider类

开发pipeline

想学习更深的爬虫,可以用《疯狂python讲义》

抓取动态页面有两种常用的方法,一是通过JavaScript逆向工程获取动态数据接口(真实的访问路径),另一种是利用selenium库模拟真实浏览器,获取JavaScript渲染后的内容。但selenium库用起来比较繁琐,抓取速度相对较慢,所以第一种方法日常使用较多。

我们直接看例子:
网址: >爬虫跳转页面的抓取需要使用一些技术手段,以下是一些可能有用的方法:
1 使用 requests 库发送 >

多页数据和单页的原理其实差不多,但是,要根据页面的规律,通过一些函数去实现循环调用。下面用全部页面为例进行说明:

列表转换函数(ListTransform)及数据批方法处理

ListTransform函数的基本功能是实现一个列表到另一个列表的转换,即输入一个列表,相应地得到一个经某些规则转换后的列表。

先来看一下ListTransform函数的基本语法:

ListTransform(列表,转换函数)

语法本身很简单,但是,其中的两个参数都非常灵活,因为:

1、第一个参数是列表,但是,列表里的内容是可以任意的东西,简单到几个数字,复杂到一个个的表,甚至可以是表中带表等任何东西!

2、转换函数可以简单到只返回一个字符,却又可以复杂到引用各种函数写任何功能强大的函数体!

所以,单纯学会这个函数的简单用法不难,但要做到灵活运用,就需要在日后大量的实际案例中磨练。

现从几个例子,先让大家对这个函数有一个比较全面的认识。

例1、给某个列表中的数字都加上1(简单的对应转换)

=ListTransform({30,40,21,33},each_+1)

结果:{31,41,22,34}

说明:转换函数中的下换线“_”表示输入列表中的每一个(当前计算)元素

例2、生成一个带10个元素的列表,每个元素的内容均为“A”(生成的内容可以和输入列表完全没有关系)

=ListTransform({110},eachA)

结果:{A,A,A,A,A,A,A,A,A,A}

例3、将数字1~26转换为字母“A”~“Z”

=ListTransform({126},eachCharacterFromNumber(64+_))

上面3个例子,简单体现了ListTransform函数将一个列表转换成另一个列表的过程,但是,这仅仅是它的基本功能,实际上,ListTransform还给了你一个批量 *** 作的机制,让你可以批量 *** 作各种内容!

例4、批量获取全部数据

首先回头看一下单页实时信息 *** 作时生成的代码:

这个代码里,实际上只需要将页码进行批量输入,就可以得到批量信息,我们先删除其他步骤代码,仅保留最关键的两行代码,然后套上ListTransform函数修改为自定义函数(并将两行代码连成一个完整语句)如下:

这样,当我们在pg_lst参数中输入页码列表时,所有页码会被ListTransform函数批量转换为对应的数据,如取第1~3页数据:

结果如下:

得到了批量的数据,后续就可以转换到表,然后进行后续的数据处理了,不再赘述。

关于怎么爬取网上的信息,有时候我们经常在网页上看到很多表格数据,有些不能直接复制粘贴到文档或者Excel表格中,有些能复制但是格式会发生很多错乱,要是信息量大的话,修改格式都是一项大工程了。
举个例子,之前有同学在网上看到一个表格数据:

要是我们直接复制很难把表格格式也复制进去,尤其对于一些每天都在变化的数据,也不能同步更新数据。

所以我们可以把网页的数据用Excel表格, 导入网页的链接实现表格数据爬取,同步自动更新表格数据

首先我们需要复制表格数据所在网页的链接

然后打开Excel表格。

注意:Excel表格需要2016以上的版本才可以。

然后把我们刚才复制好的数据所在网页链接粘贴进去,按确定

稍等片刻,就会自动获取网页所有表格数据,我们找到我们需要获取的数据表格,然后点击加载进Excel表格中。

加载到Excel表格中后,我们可以对外部数据进行编辑等其他参数调整

因为是直接获取外部的链接数据,所以要是外部数据变化,我们也可以设置自定数据更新。

在表格属性设计中找到刷新选项的查看链接属性,然后可以自定义设置一些自动更新时间。

如下动态图演示:

同时我们可以直接复制进Word文档中,选择性粘贴保留原格式,那么也可以跟Excel和网页数据实现同步更新了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13319518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存