爬虫学习整理

来源:互联网 发布:易语言网络游戏源码 编辑:程序博客网 时间:2024/06/03 17:05

1 参考学习资料

(1) python

官网:https://www.python.org/
Windows可去官网下载安装包:2.7.12或3.5.2
Mac 系统自带
通过homebrew和pyenv安装并维护多个Python版本,参考链接。
Linux系统自带,或参考上面链接使用pyenv安装并维护多个Python版本

(2) HTML(Hypertext Markup Language)

教程 http://www.runoob.com/html/html-tutorial.html

(3) XML(eXtensible Markup Language)

教程 http://www.runoob.com/xml/xml-tutorial.html
pip install lxml

(4)JSON(JavaScript Object Notation)

教程 http://www.runoob.com/json/json-tutorial.html

(5)MySQL

Windows: 下载免费社区版mysql server。
https://dev.mysql.com/downloads/mysql/
客户端操作可以使用MySQLWorkbench。
https://www.mysql.com/products/workbench/
Linux(以debian为例):
apt-get install mysql-server mysql-client
登陆mysql: mysql -p hostname -u username -p,然后使用use dbname指定需要操作的数据库
安装phpmyadmin方便在浏览器操作数据库
https://www.phpmyadmin.net/
MySQL常用命令
show databases: 显示当前服务器上的数据库
create database dbname: 创建一个新数据库
use dbname: 使用指定的数据库
show tables: 显示当前数据库的所有表
desc tbname: 显示表结构
SQLite
Windows直接去下载可执行文件即可使用,http://www.sqlite.org/download.html
Linux下apt-get install sqlite3即可完成安装。
相比mysql更加轻便好用。
大数据情况下效率变差,适合单机小程序

(5)爬虫工作流程

将种子URL放入队列
从队列中获取URL,抓取内容。
解析抓取内容,将需要进一步抓取的URL放入工作队列,存储解析后的内容

(6)抓取策略

深度优先
广度优先
PageRank
大站优先策略

(7)如何去重

Hash表
bloom过滤器

(8)Robots规范

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。Robots协议的本质是网站和搜索引擎爬虫的沟通方式,用来指导搜索引擎更好地抓取网站内容,而不是作为搜索引擎之间互相限制和不正当竞争的工具。
详情:http://baike.so.com/doc/4854891-5072162.html