商汇粹外网资源平台

搜索
查看: 2339|回复: 5

Python爬虫需要学习什么知识?

[复制链接]

该用户从未签到

2

主题

5

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2022-9-21 20:30:54 | 显示全部楼层 |阅读模式
现在让Python的基础知识学完了,想学习爬虫方面的知识,但是没有计算机基础,需要学习什么方面的知识?
入个门就行。
回复

使用道具 举报

该用户从未签到

11

主题

43

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2022-9-21 20:42:34 | 显示全部楼层
学Python爬虫首先得把Python基础打扎实,这里主要是学习Python的基础语法,数据类型,控制结构,函数和面向对象。系统学习Python基础,可以参考这套在线教程,通俗易懂,非常适合零基础小白进行学习:

打好了Python基础以后,再系统学习HTTP协议,只有掌握了HTTP协议,你才能真正搞清楚为什么爬虫可以抓取到数据。学习HTTP协议,可以参考这套下面这几篇文章:



掌握了HTTP协议以后,就可以从最基础的HTTP请求库,抓包工具,以及前端的基础知识(HTML, CSS, JS)开始学起了。系统学习Python爬虫基础,可以参考下面这套在线教程:
回复

使用道具 举报

该用户从未签到

3

主题

32

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2022-9-21 20:54:14 | 显示全部楼层
很多人都认为Python爬虫是个很简单的事情,但是其实不是这样的,对很多人来说,只学了最基本的爬取网页就觉得自己学会Python爬虫了,简直离谱!
一个好的Python爬虫,以下几点都应该会:
1.基本的编码基础(python,对于新手来说真的很简单)
这个对于任何编程工作来说都是必须的。基础的数据结构你得会吧。数据名字和值得对应(字典),对一些url进行处理(列表)等等。事实上,掌握的越牢固越好,爬虫并不是一个简单的工作,也并不比其他工作对编程语言的要求更高。熟悉你用的编程语言,熟悉相关的框架和库永远是百益无害。
用Python写爬虫的有,用Java写爬虫的也有,理论上讲任何语言都可以写爬虫的,不过最好选择一门相关的库多,开发迅速的语言。用C语言写肯定是自找苦吃了。
2.任务队列
当爬虫任务很大的时候,写一个程序跑下来是不合适的:
如果中间遇到错误停掉,重头再来?这不科学
我怎么知道程序在哪里失败了?任务和任务之间不应该相互影响
如果我有两台机器怎么分工?
所以我们需要一种任务队列,它的作用是:讲计划抓取的网页都放到任务队列里面去。然后worker从队列中拿出来一个一个执行,如果一个失败,记录一下,然后执行下一个。这样,worker就可以一个接一个地执行下去。也增加了扩展性,几亿个任务放在队列里也没问题,有需要可以增加worker,就像多一双亏筷子吃饭一样。
常用的任务队列有kafka,beanstalkd,celery等。
3.数据库
这个不用讲了,数据保存肯定要会数据库的。不过有时候一些小数据也可以保存成json或者csv等。有时如果想抓一些图片就直接按照文件夹保存文件。
推荐使用NoSQL的数据库,比如mongodb,因为爬虫抓到的数据一般是都字段-值得对应,有些字段有的网站有有的网站没有,mongo在这方面比较灵活,况且爬虫爬到的数据关系非常非常弱,很少会用到表与表的关系。
4.HTTP知识
HTTP知识是必备技能。因为要爬的是网页,所以必须要了解网页啊。
首先html文档的解析方法要懂,比如子节点父节点,属性这些。我们看到的网页是五彩斑斓的,只不过是被浏览器处理了而已,原始的网页是由很多标签组成的。处理最好使用html的解析器,如果自己用正则匹配的话坑会很多。我个人非常喜欢xpath,跨语言,表达比价好,但是也有缺点,正则、逻辑判断有点别扭。
HTTP协议要理解。HTTP协议本身是无状态的,那么“登录”是怎么实现的?这就要求去了解一下session和cookies了。GET方法和POST方法的区别(事实上除了字面意思不一样没有任何区别)。
浏览器要熟练。爬虫的过程其实是模拟人类去浏览器数据的过程。所以浏览器是怎么访问一个网站的,你要学会去观察,怎么观察呢?Developer Tools!Chrome的Developer Tools提供了访问网站的一切信息。从traffic可以看到所有发出去的请求。copy as curl功能可以给你生成和浏览器请求完全一致的curl请求!我写一个爬虫的一般流程是这样的,先用浏览器访问,然后copy as curl看看有哪些header,cookies,然后用代码模拟出来这个请求,最后处理请求的结果保存下来。
这里推荐一个相当不错的Python学习路线图,可以很好的帮助你掌握Python爬虫,希望可以帮助到你:

第一阶段:Python基础--从入门到精通(下面教程三选一即可)
1.美女老师用甜美、清脆的声音伴随你快速入门Python。
2.受广大网友好评,听这套教程不会犯困,不会打盹。
3.2021新版Python,不一样的学习体验。
第二阶段:Python进阶--Web核心技术
1.针对python编程进一步所需要的知识点详细讲解,构建python语言的完成的编程能力。
2.对于Python多线程编程的详细精讲
3.2021最新python入门系列,多任务编程、网络编程、HTTP 协议,静态 Web 服务器、MySQL 数据库 、Pyhton 高级语法、正则表达式、HTML+CSS+JS+Jquery、Mini-Web 服务器等。
4.Python的mysql数据库精讲,要仔细研读呦。
第三阶段:Python数据采集
1.黑马程序员Python爬虫基础,快速入门Scrapy爬虫框架_哔哩哔哩_bilibili
2.黑马程序员180分钟轻松获取疫情数据,Python爬虫入门课_哔哩哔哩_bilibili
第四阶段:Python企业实战项目
23天企业实战项目,美多商城前台由首页、商品列表页、商品详情页、商品搜索、购物车系统、订单系统、支付系统等,这套学完了一般的企业级开发不在话下。
回复

使用道具 举报

该用户从未签到

6

主题

12

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2022-9-21 21:05:54 | 显示全部楼层
先从一些简单网站开始学起
回复

使用道具 举报

该用户从未签到

12

主题

24

帖子

73

积分

注册会员

Rank: 2

积分
73
发表于 2022-9-21 21:17:34 | 显示全部楼层
python 基础学完了,入门的话推荐《Python3 网络爬虫开发实战》第二版,作者崔庆才
回复

使用道具 举报

该用户从未签到

4

主题

13

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2022-9-21 21:29:14 | 显示全部楼层
Python爬虫,是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。
目前一般都是是用python3,下面的提到的python默认都是说python3。您已经把python基础知识学完了,还需要学习一些爬虫的相关基础知识:
1 Python中urllib库的用法
2 requests库的安装与用法。
3 Python正则表达式的使用
4 python的Beautiful Soup的用法
5 Python爬虫框架Scrapy
掌握了基础知识以后,要通过学习一些基本的编程实例来学习爬虫的用法。
例如一些经典的爬虫例子:获取网页的HTML信息;自动下载网页上的图片;自动抓取天气预报网页上的天气数据信息;自动下载网页上的音乐文件。
回复

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表