注:纯文本内容,代码独立另写,属于本人学习总结,无任何商业用途,在此分享,如有错误,还望指教。
1.为什么需要爬虫?
答:目前网络API未完全放开,所以需要网络爬虫知识。
2.爬虫的合法性?
答:爬虫目前处于早期阶段,可爬取一些真实数据,关于私人数据需要获取版权才不至于被人控告。
3.爬虫之前有哪些需要的操作?
1>检查robots.txt (查看有无限制)
查看robots.txt:
#section 1 #禁止用户代理为BadCrawler的爬虫爬取该网站
user-agent:BadCrawler
Disallow:/
#section 2 #无论使用哪种用户代理,都应该在两次下载请求之间给出5秒的抓取延迟
user-agent:*
Crawl-delay:5
#section 3 #提供了网站地图
Sitemap:http://example.webscraping.com/sitemap.xml
2>检查网站地图 (网站提供的sitemap文件可以帮助爬虫定位网站最新的内容,而无须爬取每一个网页
3>查看网站大小 (太大的网站需要的下载方式不同,大小不了解会延误下载时间,可以使用Google查看,即:site:example.webscraping.com)
4>识别网站所用技术 (购建网站所使用的技术类型也会对如何爬取产生影响,工具可以检查网站构建的技术类型---Builtwith模块)
使用方法: 安装 pip install builtwith
>>>import builtwith
>>>builtwith.parse('http://example.webscraping,com')
...
5>寻找网站所有者 (所有者会禁封网络爬虫,最好把下载速度控制的更加保守一些)
使用WHOIS协议查询域名的注册者是谁,python有一个针对该协议的封装库,地址为:https://pypi.python.org/pypi/python-whois,
安装 pip install python whois
使用:>>>import whois
>>>print whois.whois('appspot.com')
....
完。