Web Scraping Part II:Advanced Scrapers (七):测试网站
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第1篇笔记,。



Web Scraping Part II:Advanced Scrapers (六):网络爬虫陷阱
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第12篇笔记。重点介绍如何规避反抓取陷阱。



Web Scraping Part II:Advanced Scrapers (五):图形处理和文本识别
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第5篇笔记。重点介绍图片的OCR和APTACHA的识别与提交。



Web Scraping Part II:Advanced Scrapers (四):JavaScript
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第4篇笔记。JavaScript是动态页面技术的基石(包括Ajax,DHTML),将HTML的数据展示层和数据更新层进行了解耦,使得HTML文件不变却能更改数据展示。JavaScript使得我们之前用静态网页抓取的技术统统失效。解决的办法在于如何写出用Web Scraper解析JavaScript的程序。幸运的是,第三方库Selenium使得我们可以抓取一个真实运行在浏览器上的网页,让一切变的如此简单。本文我们主要来看看动态网页如何利用Selenium进行抓取。



Web Scraping Part II:Advanced Scrapers (三):表单和登录
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第3篇笔记。重点介绍Requests module以及如何利用它来提交表单和登录网站。



Web Scraping Part II:Advanced Scrapers (二):读写自然语言
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第2篇笔记,读写自然语言。之前的文本,我们将raw data清理成fact后完没有进一步分析利用这些facts。本文我们从统计概率和词性两个方面来看看如何分析文本数据。



Web Scraping Part II:Advanced Scrapers (一):数据清理
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第二部分Advanced Scraper的第1篇笔记。之前我们获得原始数据都是规范好的干净的数据(Clean Data),比如API返回的XML;或者容易规范的原始数据,如**六度维基理论**存储的ID和url。如果我们获取的原始数据是凌乱的数据(Dirty Data),要怎么清理,清理后又需要做什么处理?本文就这两个问题展开详细讨论。



Web Scraping Part I:Basic Scrapers (六):阅读文档
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第6篇笔记,重点介绍读取txt,csv,pdf,doc&docx等文档。



Web Scraping Part I:Basic Scrapers (五):存储数据
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第5篇笔记,主题是数据的存储。本系列1-4篇笔记对于如何使用数据,仅限于在终端打印。但是如果缺少了数据的存储和分析,Web Scraping的实用性就大打折扣。本文我们来介绍三种自动数据存储(Automated Data Storage)的方法,即Media Files,CSV,MySQL。



Web Scraping Part I:Basic Scrapers (四):BeautifulSoup+API
本文是基于Ryan Mitchell的《Web Scraping With Pyhton》书本的第4篇笔记。API与Web Scraping初看是两个互补的获取网络数据的方式,大部分情况下是我们在没有找到合适API的基础上,才会试图用Web Scraping获取数据。而实际上,两者的界限并没有这么明显,而且大部分情况下,我们完全可以结合两者来获取多个database的数据来完成我们的目的。本文首先介绍API的基础,然后通过一个具体例子将API和BeautifulSoup结合起来,让我们略略体会其中的趣味。