当前位置:首页 » 编程语言 » python数据爬取

python数据爬取

发布时间: 2024-07-25 04:53:07

python爬虫是干嘛的

爬虫技术是一种自动化程序。

爬虫就是一种可以从网页上抓取数据信息并保存的自动化程序,它的原理就是模拟浏览器发送网络请求,接受请求响应,然后按照一定的规则自动抓取互联网数据。

搜索引擎通过这些爬虫从一个网站爬到另一个网站,跟踪网页中的链接,访问更多的网页,这个过程称为爬行,这些新的网址会被存入数据库等待搜索。简而言之,爬虫就是通过不间断地访问互联网,然后从中获取你指定的信息并返回给你。而我们的互联网上,随时都有无数的爬虫在爬取数据,并返回给使用者。

爬虫技术的功能

1、获取网页

获取网页可以简单理解为向网页的服务器发送网络请求,然后服务器返回给我们网页的源代码,其中通信的底层原理较为复杂,而Python给我们封装好了urllib库和requests库等,这些库可以让我们非常简单的发送各种形式的请求。

2、提取信息

获取到的网页源码内包含了很多信息,想要进提取到我们需要的信息,则需要对源码还要做进一步筛选。可以选用python中的re库即通过正则匹配的形式去提取信息,也可以采用BeautifulSoup库(bs4)等解析源代码,除了有自动编码的优势之外,bs4库还可以结构化输出源代码信息,更易于理解与使用。

3、保存数据

提取到我们需要的有用信息后,需要在Python中把它们保存下来。可以使用通过内置函数open保存为文本数据,也可以用第三方库保存为其它形式的数据,例如可以通过pandas库保存为常见的xlsx数据,如果有图片等非结构化数据还可以通过pymongo库保存至非结构化数据库中。

⑵ 濡备綍鐢╬ython鐖鍙栫绣绔欐暟鎹

鐢╬ython鐖鍙栫绣绔欐暟鎹鏂规硶姝ラゅ备笅锛

1.棣栧厛瑕佹槑纭𨱍宠佺埇鍙栫殑鐩镙囥傚逛簬缃戦〉婧愪俊鎭镄勭埇鍙栭栧厛瑕佽幏鍙杣rl,铹跺悗瀹氢綅镄勭洰镙囧唴瀹广

2.鍏堜娇鐢ㄥ熀纭for寰鐜鐢熸垚镄剈rl淇℃伅銆

3.铹跺悗闇瑕佹ā𨰾熸祻瑙埚櫒镄勮锋眰(浣跨敤request.get(url)),銮峰彇鐩镙囩绣椤电殑婧愪唬镰佷俊鎭(req.text)銆

4.鐩镙囦俊鎭灏卞湪婧愪唬镰佷腑,涓轰简绠鍗旷殑銮峰彇鐩镙囦俊鎭闇瑕佺敤Beautifulsoup搴揿规簮浠g爜杩涜岃В鏋愶纴锲犱负鏄痟tml淇℃伅锛岄噰鐢╤tml.parser镄勬柟寮忚繘琛岃В鏋愩

5.闅忓悗瑕佸湪婧愮绣椤典腑杩涗竴姝ュ畾浣岖洰镙囦俊鎭鍦ㄧ绣椤垫簮浠g爜涓镄勪綅缃锛氩湪缃戦〉涓璅12阌锛屾煡鐪嫔厓绱犱俊鎭锛屼娇鐢ㄥ乏涓婅掔殑鎸夐挳杩涗竴姝ユ煡鐪嬬洰镙囦俊鎭浣岖疆銆

6.浣跨敤beautifululsoup杩涗竴姝ュ畾浣嶆簮浠g爜淇℃伅銆

7.链钖庝娇鐢ㄥ惊鐜鍙栧嚭鍗曚釜鍏幂礌淇℃伅銆傞栧厛鍒嗘瀽鍗曚釜淇℃伅镄勪綅缃锛氩畠鍦╱l鍒楄〃涓嬶纴浣跨敤寰鐜鍙栧嚭铹跺悗瀹氢綅鍗曚釜鍏幂礌涓淇℃伅镄勪綅缃锛屽苟鍙栧嚭淇℃伅銆

8.链缁埚氨寰楀埌鐩镙囦俊鎭鍒楄〃浜嗐

⑶ 如何通过网络爬虫获取网站数据

这里以python为例,简单介绍一下如何通过python网络爬虫获取网站数据,主要分为静态网页数据的爬埋山差取和动态网页数据的爬取,实验环境win10+python3.6+pycharm5.0,主要内容如下:

静态网页数据

这里的数据都嵌套在网页源码中,所以直接requests网页源码进行解析就行,下面我简单介绍一下,这里以爬取糗事网络上的数据为例:

1.首先,打开原网页,如下,这里假设要爬取的字段包括昵称、内容、好笑数和评论数:

接着查看网页源码,如下,可以看的出来,所有的数据都嵌套在网页中:

2.然后针对以上网页结构,我们就可以直接编写爬虫代码,解析网页并提取出我们需要的数据了,测试代码如下,非常简单,主要用到requests+BeautifulSoup组合,其中requests用于获取网页源码,BeautifulSoup用于解析网页提取数据:

点击运行这个程序,效果如下,已经成功爬取了到我们需要的数据:

动态网页数据

这里的数据都没有在网页源码中(所以直接请求页面是获取不到任何数据的),大部分情况下都是存储在一唯唯个json文件中,只有在网页更新的时候,才会加载数据,下面我简单介绍一下这种方式,这里以爬取人人贷上面的数据为例:

1.首先,打开原网页,如下,这里假设要爬取的数据包括年利率,借款标题,期限,金额和进度:

接着按F12调出开发者工具,依次点击“Network”->“XHR”,F5刷新页面,就可以找打动态加载的json文件,如下,也就是我们需要爬弯皮取的数据:

2.然后就是根据这个json文件编写对应代码解析出我们需要的字段信息,测试代码如下,也非常简单,主要用到requests+json组合,其中requests用于请求json文件,json用于解析json文件提取数据:

点击运行这个程序,效果如下,已经成功爬取到我们需要的数据:

至此,我们就完成了利用python网络爬虫来获取网站数据。总的来说,整个过程非常简单,python内置了许多网络爬虫包和框架(scrapy等),可以快速获取网站数据,非常适合初学者学习和掌握,只要你有一定的爬虫基础,熟悉一下上面的流程和代码,很快就能掌握的,当然,你也可以使用现成的爬虫软件,像八爪鱼、后羿等也都可以,网上也有相关教程和资料,非常丰富,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

热点内容
聊天软件编程 发布:2024-09-17 03:00:07 浏览:725
linuxoracle安装路径 发布:2024-09-17 01:57:29 浏览:688
两个安卓手机照片怎么同步 发布:2024-09-17 01:51:53 浏览:207
cf编译后没有黑框跳出来 发布:2024-09-17 01:46:54 浏览:249
安卓怎么禁用应用读取列表 发布:2024-09-17 01:46:45 浏览:524
win10设密码在哪里 发布:2024-09-17 01:33:32 浏览:662
情逢敌手迅雷下载ftp 发布:2024-09-17 01:32:35 浏览:337
安卓如何让软件按照步骤自动运行 发布:2024-09-17 01:28:27 浏览:197
Z包解压命令 发布:2024-09-17 01:27:51 浏览:221
吉林ipfs存储服务器云主机 发布:2024-09-17 01:27:38 浏览:685