《用Python写爬虫》学习笔记(一)

时间:2022-02-13 17:21:18

注:纯文本内容,代码独立另写,属于本人学习总结,无任何商业用途,在此分享,如有错误,还望指教。

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')

....

完。