第一天:爬虫介绍

       每天上午9点左右更新一到两篇文章到专栏《Python爬虫训练营》中,对于爬虫有兴趣的伙伴可以订阅专栏一起学习,完全免费。

       键盘为桨,代码作帆。这趟为期30天左右的Python爬虫特训即将启航,每日解锁新海域:从Requests库的浪花到Scrapy框架的深流,从反爬迷雾中的破局到数据清洗的澄澈。我们拆解网页结构如同解读星图,让XPath与正则表达式化作导航罗盘。每个深夜的代码调试,终将凝结成破晓时的数据宝藏。训练营不设码头,结营之日,正是你独自远征星辰大海的起点。

文章目录

1. 什么是爬虫?

2. 有什么作用?

3. 应用领域

4. 业界的情况

5. 合法性

6. 反爬虫

7. 选择一门语言

8. 爬虫基本套路

9. Python 爬虫

1. 什么是爬虫?

网络爬虫也叫网络蜘蛛,如果把互联网比喻成⼀个蜘蛛网,那么爬虫就是在网上爬来爬去的蜘蛛,爬虫程序通过请求url地址,根据响应的内容进行解析采集数据,比如:如果响应内容是html,分析dom结构,进行dom解析、或者正则匹配,如果响应内容是xml/json数据,就可以转数据对象,然后对数据进行解析。

2. 有什么作用?

通过有效的爬虫手段批量采集数据,可以降低人工成本,提高有效数据量,给予运营/销售的数据支撑, 加快产品发展。

3. 应用领域

批量采集某个领域的招聘数据,对某个行业的招聘情况进行分析 批量采集某个行业的电商数据,以分析出具体热销商品,进行商业决策 • 采集目标客户数据,以进行后续营销 批量爬取腾讯动漫的漫画,以实现脱网本地集中浏览 开发⼀款火车票抢票程序,以实现自动抢票 ...

4. 业界的情况

目前互联网产品竞争激烈,业界大部分都会使用爬虫技术对竞品产品的数据进行挖掘、采集、⼤数据分析,这是必备手段,并且很多公司都设立了爬虫工程师的岗位。

5. 合法性

爬虫是利用程序进行批量爬取网页上的公开信息,也就是前端显示的数据信息。因为信息是完全公开的,所以是合法的。其实就像浏览器⼀样,浏览器解析响应内容并渲染为页面,而爬虫解析响应内容采 集想要的数据进行存储。

6. 反爬虫

爬虫很难完全的制止,道高⼀尺魔高⼀丈,这是⼀场没有硝烟的战争,码农VS码农 反爬⾍⼀些⼿段:

合法检测:请求校验(useragent,referer,接⼝加签名,等)。

小黑屋:IP/用户限制请求频率,或者直接拦截。

投毒:反爬虫最高境界可以不用拦截,拦截是⼀时的,投毒返回虚假数据,可以误导竞品决策。

7. 选择一门语言

爬虫可以用各种语言写, C++, Java都可以, 为什么要Python? 首先用C++搞网络开发的例子不多(可能是我见得太少) 然后由于Oracle收购了Sun, Java目前虽然在 Android开发上很重要, 但是如果Google官司进展不顺利, 那么很有可能用Go语言替代掉Java来做 Android开发. 在这计算机速度高速增长的年代里, 选语言都要看他爹的业绩, 真是稍不注意就落后于时代.。

随着计算机速度的高速发展, 某种语言开发的软件运行的时间复杂度的常数系数已经不像以前那么重要, 我们可以越来越偏爱为程序员打造的而不是为计算机打造的语言. 比如Ruby这种传说中的纯种而又飘逸的的OOP语言, 或者Python这种稍严谨而流行库又非常多的语言, 都大大弱化了针对计算机运行速度而打造的特性, 强化了为程序员容易思考而打造的特性. 所以我选择Python。

8. 爬虫基本套路

1)基本流程

     *目标数据
     *来源地址
     *结构分析
     *实现构思
     *操刀编码

2)基本手段

*破解请求限制

          *请求头设置,如:useragant为有效客户端
          *控制请求频率(根据实际情景)
          *IP代理
          *签名/加密参数从html/cookie/js分析


*破解登录授权

          *请求带上用户cookie信息


*破解验证码

          *简单的验证码可以使用识图读验证码第三方库


*解析数据

          *HTML Dom解析

               *正则匹配,通过的正则表达式来匹配想要爬取的数据,如:有些数据不是在html 标签                      里,而是在html的script 标签的js变量中

               *使用第三方库解析html dom,比较喜欢类jquery的库      

         *数据字符串

               *正则匹配(根据情景使用)

               *转 JSON/XML 对象进行解析

9. Python 爬虫

*python写爬虫的优势

       *python语法易学,容易上手
       *社区活跃,实现方案多可参考
       *各种功能包丰富
       *少量代码即可完成强大功能


*涉及模块包

     *请求

            *urllib
            *requests
     *多线程

           *threading
     *正则

           *re
     *json解析

          *json
     *html dom解析

          *beautiful soup
     *lxml

          *xpath
     *操作浏览器

          *selenium

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

穿梭的编织者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值