【入坑Python网路爬虫第一步】了解基本学习思路以及路线(每周天更新)

首先解释:作者在大一自学爬虫,在各种坑坑洼洼下,积累了很多经验,如果你和我一样,刚开始学python网络爬虫,在我看来首先你得需要一个大局观,把所有的框架架起来,这样学习爬虫就非常轻而易举。

        网络数据采集(网络爬虫)在大数据深入人心的时代,网络数据采集作为网络、数据库与机器学习等领域的交汇点,已经成为满足个性化网络数据需求的最佳实践。搜索引擎可以满足人们对数据的共性需求,即“我来了,我看见”,而网络数据采集技术可以进一步精炼数据,把网络中杂乱无章的数据聚合成合理规范的形式,方便分析与挖掘,真正实现“我征服”。工作中,你可能经常为找数据而烦恼,或者眼睁睁看着眼前的几百页数据却只能长恨咫尺天涯,又或者数据杂乱无章的网站中满是带有陷阱的表单和坑爹的验证码,甚至需要的数据都在网页版的PDF和网络图片中。而作为一名网站管理员,你也需要了解常用的网络数据采集手段,以及常用的网络表单安全措施,以提高网站访问的安全性,所谓道高一尺,魔高一丈……一念清净,烈焰成池,一念觉醒,方登彼岸,本文试图成为解决这些问题的一念,让你茅塞顿开,船登彼岸。

目录

python爬虫学习资料

1.python基本语法及面对对象的学习

2.基础的爬取网站获取信息

        1.静态网页爬取

        2.动态网页爬取

3.解析网站数据

        1.正则表达式

        2.BeatifulSoup模块

        3.Xpath语法

4.储存解析数据

        1.txt,csv存储 

        2.MySQL存储 

        3.MongoDB存储(建议)        

5.加快数据解析速度

        1.多线程,多进程,多协程

 6.反爬虫策略​​​​​​​

1.修改请求头

2.修改爬虫间隔时间

3.使用代理(不推荐)

 4.更换IP地址

 5.登陆获取数据

7.服务器采集

8.分布式爬虫

9.Scrapy框架学习



python爬虫学习资料

 链接:链接:https://pan.baidu.com/s/1JiLSUSgXI8EwHjqjsqvIUg 
提取码:1024

1.python基本语法及面对对象的学习

        学习资料:

        链接:https://pan.baidu.com/s/1filGjaMxY1JUWiTxrQVLjQ 
        提取码:1024

        python作为新时代的大方向,因为python的语法简单灵活,以及是一门面向对象的编程语言,受到了大部分程序员的青睐,所以说python就是网络爬虫的不二之选。

2.基础的爬取网站获取信息

        网络爬虫的运行方式其实是十分简单,简单地说:获取网页 > 解析网页 > 储存数据。获取网页数据第一步为分析是静态网页还是动态网页,静态网页:一般扩展名为.html或.htm无后台数据库

动态网页:一般扩展名为.asp或.php有后台数据库。

        首先要建立一个请求头,伪装,防止网站识别为爬虫,进行封杀,请求头包括User-Agent,cookies,refers。(不同网站利用不同请求头)

        1.静态网页爬取

          静态网页爬取十分简单,基本上就主要用python中request模块中的get请求。

              

import requests

url=requests.get("http://www.baidu.com")
print(url.text)

        2.动态网页爬取

        首先要了解一种新的技术——AJAX(ajax 全名 async javascript and XML(异步JavaScript和XML))Ajax 是一种无需重新加载整个网页的情况下,能够更新部分网页的技术。
Ajax = 异步 JavaScript + XML。Ajax 是一种用于创建快速动态网页的技术。如果网页利用AJAX的技术该如何获取网页呢?

                1)通过浏览器审查元素解析地址

                2)通过selenium模拟浏览器抓取

                Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla FirefoxSafariGoogle ChromeOpera,Edge等。这个工具的主要功能包括:测试与浏览器的兼容性——测试应用程序看是否能够很好得工作在不同浏览器和操作系统之上。不过现在来说seleni更多的利用在爬虫领域,模拟用户来获取网页。

3.解析网站数据

        1.正则表达式

        2.BeatifulSoup模块

        3.Xpath语法

性能难易提取数据方式
正则表达式较难正则表达式
BeatifulSoup模块简单Find方法,CSS选择器
Xpath语法简单Xpath,CSS选择器

4.储存解析数据

        1.txt,csv存储 

        2.MySQL存储 官网MySQL

        3.MongoDB存储(建议)         官网:MongoDB: The Application Data Platform | MongoDB

5.加快数据解析速度

        1.多线程,多进程,多协程

 6.反爬虫策略

        许多网页为了防止恶意爬虫频繁入侵,会设置爬虫,例如:不返回目标网页,设置验证码等等。一个好的爬虫工程师就要对反反爬虫体系了如指掌。以下是常见的反爬思路:

        1.修改请求头

        2.修改爬虫间隔时间

        3.使用代理(不推荐)

        4.更换IP地址

        5.登陆获取数据

7.服务器采集

        这一个环节就是把你的爬虫放到“云”上,可以随便改变自己的IP地址,可以放着爬虫IP被封的风险

8.分布式爬虫

        分布式爬虫其实还有以下的优点: 代码基本上不用改,最多改改IP和cookie,而不必每一个脚本都去改输入任务。 很多搞爬虫的总爱吹嘘分布式爬虫,仿佛只有分布式才有逼格,不是分布式简单不配叫爬虫,这是一种很肤浅的思想。 分布式只是提高爬虫功能和效率的一个环节而已,它从来不是爬虫的本质东西。 爬虫的本质是网络请求和数据处理,如何稳定地访问网页拿到数据,如何精准地提取出高质量的数据才是核心问题。 分布式爬虫只有当爬虫任务量很大的时候才会凸显优势,一般情况下也确实不必动用这个大杀器,所以要明确你的目标是什么。

9.Scrapy框架学习

scrapy就是为了爬取网站的设计的框架,提取数据而编写的应用框架,把获取网页,解析网页,存储数据结合成一个大的框架。对于新手来说,刚开始完全可以用request+bs4,等到时机成熟,scrapy学起来也会易如反掌。

  • 37
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luka努力学JAVA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值