zoukankan      html  css  js  c++  java
  • Python爬虫实践 —— 1.对反爬机制的认识

    51zxw发布了一个新课程,是今年二月份的,现在总算是辞职空下来时间了,想着学习下爬虫吧,反正学了也不亏。爬虫算是最简单的东西了,爬虫背靠数据挖掘、数据分析和机器学习,与大数据和AI相比显得没那么高大上,随便一个程序员都能写一个的小爬虫。可是,在数据封锁隐藏,反爬机制不断深入的今天,如何设计爬虫分布式运行架构、有效高匿的代理池、反封号防屏蔽、清洗存储有效数据、优化爬取策略、结合大数据技术,更有效率有质量地获取数据等等云云,也不是看似那么简单。因为当今世纪,数据即是一切,小小爬虫,一定程度上成为了可用信息的源头,这就是爬虫存在的意义。

    工欲善其事必先利其器,自学网老师示例用的是sublime,但是接近年底,packge-control因为某些(河蟹)因素暂停了服务(也可能是白嫖的人太多了 ..迫真),之前写selenium又一直用的pycharm,索性就接着用吧。。,配置下Anaconda解释器,完事开干。

    爬虫 本质上来讲 就是做一个模拟浏览器的工作。从最开始的模拟浏览器发 HTTP 请求,发 WebSocket 请求,到后面的模拟浏览器编译 js,其实做的都是一件事情。

    简单反爬机制

    1.请求头验证  User-Agent、Cookie、 Referer

    请求头和跳转源是第一层反爬保护,模拟user-agent不同浏览器、客户端的http请求头,添加referer标签模拟跳转源

    2.ip 限制 高匿ip代理、自建ip池(ADSL拨号每次也会分配不同ip),ip访问频率设置

    验证机器还是人的操作,同一ip多次高频会被永久封禁

    3.登陆验证限制

    文字选择、划线、图片拖动、结合语义识别(或设置识别线),cookie,OCR,pytesseract,selenium模拟操作,手动输入验证码?。。网络爬人?

    4.非静态页 JS混淆加密,Ajax异步加载

    哦shit,js反爬,一般两种思路,python重写js内容或execjs第三方库解析js。oh shit 后面在学吧,文字替换,js混淆,加密算法相关知识太多了,好在得慢慢学,还有无头浏览器+selenium有奇效 bingo >__<

  • 相关阅读:
    苹果 01背包
    Robberies 01背包变形 hdoj
    01背包
    小希的迷宫--并查集
    德克萨斯长角牛 --最短路径
    1596 最短路径的变形
    hibernate重要知识点总结
    Apache与Tomcat整合的配置
    java串口通讯环境配置
    使用spring的aop对Struts2的Action拦截后出现依赖注入为空问题
  • 原文地址:https://www.cnblogs.com/liuchaodada/p/12037637.html
Copyright © 2011-2022 走看看