爬虫项目介绍
- 网络爬虫分类
1)通用爬虫,例如百度、Google,它们会搜索互联网上的所有数据并保存下来,搜搜的时候直接从存储的备份里面找到目标内容,然后再访问实际网站内容;
2)聚焦爬虫,从互联网获取结构话数据,不保存所有数据,只根据一些需要提取需要的数据; 2.go 语言常见爬虫库 | 框架 henrylee2cn/pholcus Pholcus(幽灵蛛)是一款纯 Go 语言编写的支持分布式的高并发爬虫软件,仅用于编程学习与研究。 它支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/kafka/csv/excel等);另外它还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。 gocrawl gocrawl是一个采用Go编写的微型并发Web爬虫。 colly Lightning Fast and Elegant Scraping Framework for Gophers. Colly provides a clean interface to write any kind of crawler/scraper/spider. With Colly you can easily extract structured data from websites, which can be used for a wide range of applications, like data mining, data processing or archiving. hu17889/go_spider go_spider 基于golang开发,是一个开放的垂直领域的爬虫框架,框架中将各个功能模块区分开,方便使用者重新实现子模块,进而构建自己垂直方方向的爬虫。
爬虫的法律风险
robots 协议 一般网站都会增加一个robots.txt 来说明可以爬、不可爬以及不愿意被爬的内容。 技术上:没有约束力 如果需要禁止某个agent访问,则需要在安全程序层面加以监测和阻止。 法律上:作为参考 一方面,robots 上不允许爬虫的,一般最好不要爬,以防影响网站的正常业务(可能存在法律风险); 另一方面,robots协议默认允许所有项; 除此之外,网站所有者可能没有关注或者写错 robots.txt 相关的信息; 因此需要根据常识判断,不能随意爬、无限速爬(QPS 不能影响对方正常服务),若不确定时候可以咨询相关人士或者联系网站管理人员(有些爬虫数据是有利于你网站方的)。
总体算法
想让程序获取数据信息,那么必须先尝试人工获取信息,然后设置指定爬虫起始爬虫位置,再根据规则爬取需要的数据,根据链接爬取更多的数据。
爬虫实现步骤