前情回顾html
机器学习100天|Day1数据预处理100天搞定机器学习|Day2简单线性回归分析100天搞定机器学习|Day3多元线性回归100天搞定机器学习|Day4-6 逻辑回归100天搞定机器学习|Day7 K-NN100天搞定机器学习|Day8 逻辑回归的数学原理100天搞定机器学习|Day9-12 支持向量机100天搞定机器学习|Day11 实现KNN100天搞定机器学习|Day13-14 SVM的实现100天搞定机器学习|Day15 朴素贝叶斯100天搞定机器学习|Day16 经过内核技巧实现SVM100天搞定机器学习|Day17-18 神奇的逻辑回归100天搞定机器学习|Day19-20 加州理工学院公开课:机器学习与数据挖掘python
Day21,Avik-Jain学习了关于如何使用Beautiful Soup进行网络爬虫的教程。浏览器
网络爬虫,是一种按照必定的规则,自动的抓取万维网信息的程序或者脚本。通俗来讲就是模拟用户在浏览器上的操做,从特定网站,自动提取对本身有价值的信息。主要经过查找域名对应的IP地址、向IP对应的服务器发送请求、服务器响应请求,发回网页内容、浏览器解析网页内容四个步骤来实现。服务器
Beautiful Soup提供一些简单的、Python式的函数来处理导航、搜索、修改分析树等功能。它是一个工具箱,经过解析文档为用户提供须要抓取的数据,由于简单,因此不须要多少代码就能够写出一个完整的应用程序。网络
Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为UTF-8编码。你不须要考虑编码方式,除非文档没有指定一个编码方式,这时你仅仅须要说明一下原始编码方式就能够了。框架
Beautiful Soup已成为和lxml、html6lib同样出色的Python解释器,为用户灵活地提供不一样的解析策略或强劲的速度。机器学习
https://www.crummy.com/software/BeautifulSoup/bs4/doc/分布式
须要声明的是,爬虫是个很是复杂的技术,须要完备的知识体系。ide
技术体系:函数
数据采集、数据存储、动态网页爬取、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
数据挖掘从业者学习爬虫更可能是为数据分析须要,但爬虫自己也能够发展为职业,随手截两个高级爬虫工程师的岗位职责。
个人建议是:若是职业定位非爬虫工程师,可先没必要太深刻学习。推荐感兴趣且时间富裕的同窗一个免费的爬虫入门课程: