zoukankan      html  css  js  c++  java
  • python爬虫工程师各个阶段需要掌握的技能和知识介绍

    初级爬虫工程师

    1. Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等;
    2. 正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字,链接信息,知道什么是懒惰,什么是贪婪型的正则;
    3. 会使用re, BeautifulSoup,XPath等获取一些DOM结构中的节点信息;
    4. 知道什么是深度优先,广度优先的抓取算法,及实践中的使用规则;
    5. 能分析简单网站的结构,会使用urllib或requests库进行简单的数据抓取;

      中级爬虫工程师

    1. 了解什么是Hash,会使用简单的MD5,SHA1等算法对数据进行Hash以便存储;
    2. 熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等;
    3. 能设置User-Agent进行数据爬取,设置代理等;
    4. 知道什么是Request,什么是Response,会使用Fiddler, Wireshark等工具抓取及分析简单的网络数据包;对于动态爬虫,要学会分析Ajax请求,模拟制造Post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录;
    5. 对于比较难搞定的网站,学会使用浏览器+selenium抓取一些动态网页信息;
    6. 并发下载,通过并行下载加速数据抓取;多线程的使用;

      高级爬虫工程师

    1. 能使用Tesseract,百度AI, HOG+SVM,CNN等库进行验证码识别;
    2. 能使用数据挖掘的技术,分类算法等避免死链等;
    3. 会使用常用的数据库进行数据存储,查询,如Mongodb,Redis(大数据量的缓存)等;下载缓存,学习如何通过缓存避免重复下载的问题;Bloom Filter的使用;
    4. 能使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封号等;
    5. 能使用一些开源框架Scrapy, Scarpy-Redis,Celery等分布式爬虫,能部署掌控分布式爬虫进行大规模的数据抓取
  • 相关阅读:
    Maximum Depth of Binary Tree
    Single Number
    Merge Two Sorted Lists
    Remove Nth Node From End of List
    Remove Element
    Remove Duplicates from Sorted List
    Add Two Numbers
    编译视频直播点播平台EasyDSS数据排序使用Go 语言 slice 类型排序的实现介绍
    RTMP协议视频直播点播平台EasyDSS在Linux系统中以服务启动报错can’t evaluate field RootPath in type*struct排查
    【解决方案】5G时代RTMP推流服务器/互联网直播点播平台EasyDSS实现360°全景摄像机VR直播
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/10973612.html
Copyright © 2011-2022 走看看