• 20180705Advanced11Course28Crawler(爬虫制作-框架进阶1)、 20180710Advanced11Course29Crawler爬虫制作-框架进阶2 、 20180711Advanced11Course30Crawler爬虫制作-框架进阶3


    一、爬虫简介

    爬虫:一个自动提取网页的程序。

    爬虫的工作过程:从url开始——>分析获取数据&找url——>递归下去——>结束;下载html——解析获取数据——数据保存

    爬虫的应用:(1)抓取小说数据,做内容站;(2)抓取电影/动漫下载站;(3)抓图片;(4)政府的公开招标数据,每天汇集新增的这些数据

    爬虫的正义性问题:不违法,但不道德

    二、爬虫的攻防                                   

    爬虫的访问量很高,会增加并发。该如何处理?

    1、robots协议——君子协定

    2、请求检测header

    3、用户登录——请求的时候带上cookie

    4、从用户的行为上来限制。爬虫的频率高,限制IP。发现是爬虫,记录下该IP放入黑名单或返回一个验证码,下次就不允许访问。多个ip(adsl拨号/168伪装IP)

    验证码——开源组件做图片识别、打码平台

    5、数据的JS动态加载;转图片;JS收集用户操作,然后提交;做用户控件(可以收集更多信息)

    除去用户控件外,其它的方式都可以解决。

     三、网页版抓取使用

    1、下载url

    1、下载图片的时候有防盗链怎么办?模拟Referer就可以

    2、有的视频文件都没有链接,怎么解决?

    3、不知道一个网站有多少网页,怎么爬这个网站的所有数据?可以在网页上进行判断,把url找出来,就可以继续抓取了。

    4、对每一步操作进行记录

    2、分析数据(爬虫的核心)

    爬虫的难点在于分析。

    HtmlAgilityPack 包:基于XPath解析

    3、获取有用的信息

     有些是js动态加载的,必须借助于第三方的driver,比如phantomjs、chrome之类的

    问题一:惰性加载/懒加载/延迟加载/按需加载:把url绑定到其它属性,需要看的时候才换到src。提升用户体验,加快速度。如, data-lazy-img

    问题二:深层抓取,分页数据  分析分页的规律;拼接url ;循环下载

    问题三:Ajax请求 

     四、抓取移动端

    装个模拟器;电脑抓包工具Fidder

     电脑抓包wireshark,net开源抓包库用sharpcap,fiddle是抓http请求

     五、备注

    爬虫,必须对前端有所了解。因为内容是从页面中抓取出来的。

    爬虫,基础知识不多,主要是敲代码,去实践。

     六、多线程爬虫

  • 相关阅读:
    数据库三范式(转)
    Tyrion中文文档(含示例源码)
    mongodb数据库导入导出恢复
    HTTP协议:Content-Type
    requests爬虫组件
    JS 数组对象
    JS 函数
    javascript window对象属性和方法
    js String对象
    Math对象-JavaScript
  • 原文地址:https://www.cnblogs.com/lanyuejiagou/p/13914019.html
Copyright © 2020-2023  润新知