天涯论坛

 找回密码
 立即注册
搜索
查看: 58|回复: 4

零基本不晓得怎么样做Python爬虫,这是一份简单入门的教程!

[复制链接]

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
发表于 2024-8-17 12:11:53 | 显示全部楼层 |阅读模式

随着互联网的数据爆炸式增长,而利用Python爬虫咱们能够获取海量有价值的数据:

1.爬取数据,进行市场调研和商场分析

爬取知乎优秀答案,筛选各专题下最优秀的内容; 抓取房产网站买卖信息,分析房价变化趋势、做区别区域的房价分析;爬取招聘网站职位信息,分析各行业人才需求状况及薪资水平。

2.做为设备学习、数据挖掘的原始数据

例如你要做一个举荐系统,那样能够去爬取更加多维度的数据,做出更好的模型。

3.爬取优秀的资源:照片、文本、视频

爬取商品的评论以及各样照片网站,得到照片资源以及评论文本数据。

把握正确的办法,在短期内做到能够爬取主流网站的数据,其实非常容易实现。

首要咱们认识爬虫的基本原理及过程

大部分爬虫都是按“发送请求——得到页面——解析页面——抽取并储存内容”这般的流程来进行,这其实是模拟了咱们运用浏览器获取网页信息的过程。

简单来讲咱们向服务器发送请求后,会得到返回的页面,经过解析页面之后,咱们能够抽取咱们想要的那部分信息,并存储在指定的文档或数据库中。

在这部分你能够简单认识 HTTP 协议及网页基本知识,例如 POSTGET、HTML、CSS、JS,简单认识就可,不必须系统学习。

学习 Python 包并实现基本的爬虫过程

Python中爬虫关联的包非常多:urllib、requests、bs4、scrapy、pyspider 等,意见你从requests+Xpath 起始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。

倘若你用过 BeautifulSoup,会发掘 Xpath 要省事不少,一层一层检测元素代码的工作,全都省略了。把握之后,你会发掘爬虫的基本招数都差不多,通常的静态网站基本不在话下,小猪、豆瓣、糗事百科、腾讯资讯等基本上都能够上手了。

存数据

首要咱们来讲存数据,是由于在初期学习的时候,接触的少,必须太过于关注,随着学习的慢慢深入,咱们必须保留大批量的数据的时候,就必须去学习数据库的关联知识了!

初期,咱们抓到必须的内容后,只必须保留到本地,无非保留到文档、表格(excel)等等几个办法这儿大众必须把握with语句就基本能够保准需求了。大概是这般的:

with open(路径以及文件名,保留模式) as f:

f.write(数据)#倘若是文本可直接写入,倘若是其他文件,数据为二进制模式更好

当然保留到excel表格word文档必须用到 xlwt库(excel)、python-docx库(word),这个在网上非常多大众能够自动去学习。

取数据

说了这么多,咱们来讲说主题。怎么来抓取咱们想要的数据呢?咱们一步步的来!

通常所说的取网页内容,指的是经过Python脚本实现拜访某个URL位置(请求数据),而后得到其所返回的内容(HTML源码,Json格式的字符串等)。而后经过解析规则(页面解析),分析出咱们必须的数据并取(内容匹配)出来。

在python中实现爬虫非常方便,有海量的库能够满足咱们的需求,例如先用requests库取一个url(网页)的源码

import requests#导入库

url = 你的目的网址

response = requests.get(url) #请求数据

print(response.text) #打印出数据的文本内容

这几行代码就能够得到网页的源代码,然则有时候这儿面会有乱码,为何呢?

由于中文网站中包括中文,而终端不支持gbk编码,因此咱们在打印时必须把中文从gbk格式转为终端支持的编码,通常为utf-8编码。

因此咱们在打印response之前,必须对它进行编码的指定(咱们能够直接指定代码表示的编码格式为网页本身的编码格式,例如utf-8,网页编码格式通常都在源代码中的<meta>标签下的charset属性中指定)。加上一行就可

response.encode = utf-8 #指定编码格式

至此,咱们已然获取了网页的源代码,接下来便是在乱七八糟的源代码中找到咱们必须的内容,这儿必须用到各样匹配方式了,常用的几种方式有:正则表达式(re库),bs4(Beautifulsoup4库),xpath(lxml库)!

意见大众从正则起始学习,最后必定瞧瞧xpath,这个在爬虫框架scrapy中用的非常多

经过各样匹配方式找到咱们的内容后(重视通常匹配出来的是列表),就到了上面所说的存数据的周期了,这就完成为了一个简单的爬虫!

当然了,在咱们详细写代码的时候,会发掘非常多上面说到的内容,例如

获取源代码的时候遇到反爬,基本获取不到数据有的网站必须登录后才能够拿到内容遇到验证码获取到内容后写入文件出错怎么样来设计循环,获取大批量的内容乃至整站爬虫

剩下的咱们再来慢慢的科研

总结

Python爬虫这种技术,既不必须你系统地精通一门语言,必须多么高深的数据库技术,有效的姿势便是实质的项目中去学习这些零散的知识点,你能保准每次学到的都是最必须的那部分。

当然独一麻烦的是,在详细的问题中,怎样找到详细必须的那部分学习资源、怎样筛选和甄别,是非常多初学者面临的一个大问题。

分享 IT 技术和行业经验,请关注-技术学派





上一篇:Python爬虫入门并不难,乃至入门亦很简单
下一篇:从Python安装到语法基本,小白都能懂的爬虫教程!(附代码)
回复

使用道具 举报

0

主题

1万

回帖

1

积分

新手上路

Rank: 1

积分
1
发表于 2024-9-3 00:45:07 | 显示全部楼层
你的见解独到,让我受益匪浅,非常感谢。
回复

使用道具 举报

3089

主题

3万

回帖

9909万

积分

论坛元老

Rank: 8Rank: 8

积分
99098770
发表于 2024-9-25 16:16:06 | 显示全部楼层
回顾历史,我们不难发现:无数先辈用鲜血和生命铺就了中华民族复兴的康庄大道。
回复

使用道具 举报

3047

主题

3万

回帖

9606万

积分

论坛元老

Rank: 8Rank: 8

积分
96065852
 楼主| 发表于 2024-10-23 01:47:18 | 显示全部楼层
谷歌外链发布 http://www.fok120.com/
回复

使用道具 举报

2986

主题

3万

回帖

9956万

积分

论坛元老

Rank: 8Rank: 8

积分
99569168
发表于 2024-11-3 03:43:19 | 显示全部楼层
“NB”(牛×的缩写,表示叹为观止)‌
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|天涯论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-23 10:13 , Processed in 0.121287 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.