前情回顾

机器学习100天|Day1数据预处理
100天搞定机器学习|Day2简单线性回归分析
100天搞定机器学习|Day3多元线性回归
100天搞定机器学习|Day4-6 逻辑回归
100天搞定机器学习|Day7 K-NN
100天搞定机器学习|Day8 逻辑回归的数学原理
100天搞定机器学习|Day9-12 支持向量机
100天搞定机器学习|Day11 实现KNN
100天搞定机器学习|Day13-14 SVM的实现
100天搞定机器学习|Day15 朴素贝叶斯
100天搞定机器学习|Day16 通过内核技巧实现SVM
100天搞定机器学习|Day17-18  神奇的逻辑回归
100天搞定机器学习|Day19-20 加州理工学院公开课:机器学习与数据挖掘

Day21,Avik-Jain学习了关于如何使用Beautiful Soup进行网络爬虫的教程。

网络爬虫,是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。通俗来说就是模拟用户在浏览器上的操作,从特定网站,自动提取对自己有价值的信息。主要通过查找域名对应的IP地址、向IP对应的服务器发送请求、服务器响应请求,发回网页内容、浏览器解析网页内容四个步骤来实现。

什么Beautiful Soup

Beautiful Soup提供一些简单的、Python式的函数来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时你仅仅需要说明一下原始编码方式就可以了。

Beautiful Soup已成为和lxml、html6lib一样出色的Python解释器,为用户灵活地提供不同的解析策略或强劲的速度。

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

需要声明的是,爬虫是个非常复杂的技术,需要完备的知识体系。

技术体系:

数据采集、数据存储、动态网页爬取、APP爬取、验证码破解、模拟登陆、代理试用、爬虫框架、分布式爬取等等。

目前主流的网络爬虫工具是python,涉及的库和工具:

网页爬取:urlib、requests、aiohttp、Selenium、Splash

网页解析:re、lxml、Beautiful Soup、pyquest

数据存储:JSON、XML、CSV、MySQL、MongoDB、Redis

Web组件:Flask、Tornado

处理反爬:Tesserocr、ADSLProxy、ProxyPool、PookiesPool

APP爬取:Charles、mitmproxy、mitmdump、Appium

爬虫框架:pyspider、Scrapy、Scrapy-Redis、Scrapy-Splash

管理部署:Docker、Scrapyd、Scrapyd-API、Scrapyd-Client、Gerapy

数据挖掘从业者学习爬虫更多是为数据分析需要,但爬虫本身也可以发展为职业,随手截两个高级爬虫工程师的岗位职责。

我的建议是:如果职业定位非爬虫工程师,可先不必太深入学习。推荐感兴趣且时间富裕的同学一个免费的爬虫入门课程:

最新文章

  1. SqlServer--模糊查询-通配符
  2. Sublime Text 配置记录
  3. 使用后缀数组寻找最长公共子字符串JavaScript版
  4. python异常
  5. codeforces 581C. Developing Skills 解题报告
  6. 整理了一些常用的jQuery动画事件
  7. 总结android项目的基本开发步骤(转帖)
  8. 解决oracle启动的错误: ORA-00119 ORA-00132
  9. 慎用ReentrantLock
  10. mahout算法源码分析之Collaborative Filtering with ALS-WR (四)评价和推荐
  11. python学习之字符串
  12. RSA算法详解及C语言实现
  13. 【Linux】鸟哥的Linux私房菜基础学习篇整理(十二)
  14. 武汉科技大学ACM :1006: A+B for Input-Output Practice (VI)
  15. ContentProvider简要
  16. Docker 初步认识
  17. F# 之旅(下)
  18. Zephyr学习(三)启动过程
  19. shell命令批量创建指定格式的文件
  20. [No0000CE]检测非空格字符作为密码的密码强度

热门文章

  1. 雅阁微信群、雅阁车友群、十代雅阁交流微信QQ群
  2. LINUX_记录(一)
  3. 【Download error:TOO MANY REQUESTS】&【TypeError:excepted string or buffer】
  4. 动态规划(1)——最长子序列(LCS)问题
  5. 编码原理_base64编码原理
  6. 个人永久性免费-Excel催化剂功能第55波-Excel批注相关的批量删除作者、提取所有批注信息等
  7. C#写好的类库dll在别人调用的时候也能看到注释的方法
  8. spark streaming 接收kafka消息之五 -- spark streaming 和 kafka 的对接总结
  9. PHP与ECMAScript_5_常用数组相关函数
  10. shiro解析ini文件