鸿 鸿 2022-09-01 13:31 采纳率: 92.7%
浏览 19
已结题

话说python爬虫初中高级要会啥?

来位爬虫工程师,python爬虫初中高级水平要会啥东西,啥技能,

  • 写回答

1条回答 默认 最新

  • 三只小菜猿 PHP领域新星创作者 2022-09-01 13:46
    关注

    初级爬虫工程师

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

    中级爬虫工程师:

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

    高级爬虫工程师:

    能使用Tesseract,百度AI, HOG+SVM,CNN等库进行验证码识别;
    能使用数据挖掘的技术,分类算法等避免死链等;
    会使用常用的数据库进行数据存储,查询,如Mongodb,Redis(大数据量的缓存)等;下载缓存,学习如何通过缓存避免重复下载的问题;Bloom Filter的使用;
    能使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封号等;
    能使用一些开源框架Scrapy, Scarpy-Redis,Celery等分布式爬虫,能部署掌控分布式爬虫进行大规模的数据抓取

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 9月1日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看