查看网站构建的技术类型
在开始爬虫的时候我们可以看一下网站使用了什么技术类型,因为网站的技术类型会影响我们如何爬取网站。在python中有一个模块可以帮助我们查看——builtwith。安装方法如下:
pip install builtwith
使用如下:我们以京东为例,以百度为例返回的为空字典
import builtwith
response = builtwith.parse('https://www.jd.com/')
print(response)
{‘javascript-frameworks’: [‘jQuery’]}
由此可以看出京东使用了异步加载,所有在爬取的时候,html有时候没有我们想要的数据。
Robots协议
百度百科:(其也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取我们可以知道该网站有哪些限制。作为一个良好的网络公民我们应该准守它 。
查看robots协议方法:在url后面加/robots.txt
import requests
response = requests.get('https://www.baidu.com/robots.txt')
print(response.text)
User-agent 代表什么搜索引擎
Disallow 不允许爬取的链接
Crawl-delay 表示两次请求之间应该延迟多少秒
检查网站地图
查看网站地图(Sitemap)可以帮助我们了解网站最近更新了什么。百度百科:Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的Sitemap形式,就是XML文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
可以知道网站多了什么url,方便爬取。
例如苹果提供的地图 链接为: https://www.apple.com/sitemap.xml
网站所有者
import whois
res = whois.whois('baidu.com') # 这里填入域名
print(res)