加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

2019 网络爬虫和相关工具

发布时间:2019-06-12 03:26:24 所属栏目:优化 来源:微笑的蚂蚁人
导读:副标题#e# 网络爬虫 网络爬虫(web crawler),以前经常称之为网络蜘蛛(spider),是按照一定的规则自动浏览万维网并获取信息的机器人程序(或脚本),曾经被广泛的应用于互联网搜索引擎。使用过互联网和浏览器的人都知道,网页中除了供用户阅读的文字信息之外,

在开始讲解爬虫之前,我们稍微对HTTP(超文本传输协议)做一些回顾,因为我们在网页上看到的内容通常是浏览器执行HTML语言得到的结果,而HTTP就是传输HTML数据的协议。HTTP和其他很多应用级协议一样是构建在TCP(传输控制协议)之上的,它利用了TCP提供的可靠的传输服务实现了Web应用中的数据交换。按照维基百科上的介绍,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,也就是说这个协议是浏览器和Web服务器之间传输的数据的载体。关于这个协议的详细信息以及目前的发展状况,大家可以阅读阮一峰老师的《HTTP 协议入门》、《互联网协议入门》系列以及《图解HTTPS协议》进行了解,下图是我在四川省网络通信技术重点实验室工作期间用开源协议分析工具Ethereal(抓包工具WireShark的前身)截取的访问百度首页时的HTTP请求和响应的报文(协议数据),由于Ethereal截取的是经过网络适配器的数据,因此可以清晰的看到从物理链路层到应用层的协议数据。

HTTP请求(请求行+请求头+空行+[消息体]):

2019 网络爬虫和相关工具

HTTP响应(响应行+响应头+空行+消息体):

2019 网络爬虫和相关工具

说明:但愿这两张如同泛黄的照片般的截图帮助你大概的了解到HTTP是一个怎样的协议。

相关工具

1.Chrome Developer Tools:谷歌浏览器内置的开发者工具。

2019 网络爬虫和相关工具

2.POSTMAN:功能强大的网页调试与RESTful请求工具。

2019 网络爬虫和相关工具

3.

2019 网络爬虫和相关工具

4.HTTPie:命令行HTTP客户端。

  1. $ http --header http://www.scu.edu.cn 
  2. HTTP/1.1 200 OK 
  3. Accept-Ranges: bytes 
  4. Cache-Control: private, max-age=600 
  5. Connection: Keep-Alive 
  6. Content-Encoding: gzip 
  7. Content-Language: zh-CN 
  8. Content-Length: 14403 
  9. Content-Type: text/html 
  10. Date: Sun, 27 May 2018 15:38:25 GMT 
  11. ETag: "e6ec-56d3032d70a32-gzip" 
  12. Expires: Sun, 27 May 2018 15:48:25 GMT 
  13. Keep-Alive: timeout=5, max=100 
  14. Last-Modified: Sun, 27 May 2018 13:44:22 GMT 
  15. Server: VWebServer 
  16. Vary: User-Agent,Accept-Encoding 
  17. X-Frame-Options: SAMEORIGIN 

5.BuiltWith:识别网站所用技术的工具。

  1. >>> import builtwith 
  2. >>> builtwith.parse('http://www.bootcss.com/') 
  3. {'web-servers': ['Nginx'], 'font-scripts': ['Font Awesome'], 'javascript-frameworks': ['Lo-dash', 'Underscore.js', 'Vue.js', 'Zepto', 'jQuery'], 'web-frameworks': ['Twitter Bootstrap']} 
  4. >>> 
  5. >>> import ssl 
  6. >>> ssl._create_default_https_context = ssl._create_unverified_context 
  7. >>> builtwith.parse('https://www.jianshu.com/') 
  8. {'web-servers': ['Tengine'], 'web-frameworks': ['Twitter Bootstrap', 'Ruby on Rails'], 'programming-languages': ['Ruby']} 

6.python-whois:查询网站所有者的工具。

  1. >>> import whois 
  2. >>> whois.whois('baidu.com') 
  3. {'domain_name': ['BAIDU.COM', 'baidu.com'], 'registrar': 'MarkMonitor, Inc.', 'whois_server': 'whois.markmonitor.com', 'referral_url': None, 'updated_date': [datetime.datetime(2017, 7, 28, 2, 36, 28), datetime.datetime(2017, 7, 27, 19, 36, 28)], 'creation_date': [datetime.datetime(1999, 10, 11, 11, 5, 17), datetime.datetime(1999, 10, 11, 4, 5, 17)], 'expiration_date': [datetime.datetime(2026, 10, 11, 11, 5, 17), datetime.datetime(2026, 10, 11, 0, 0)], 'name_servers': ['DNS.BAIDU.COM', 'NS2.BAIDU.COM', 'NS3.BAIDU.COM', 'NS4.BAIDU.COM', 'NS7.BAIDU.COM', 'dns.baidu.com', 'ns4.baidu.com', 'ns3.baidu.com', 'ns7.baidu.com', 'ns2.baidu.com'], 'status': ['clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited', 'clientTransferProhibited https://icann.org/epp#clientTransferProhibited', 'clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited', 'serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited', 'serverTransferProhibited https://icann.org/epp#serverTransferProhibited', 'serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited', 'clientUpdateProhibited (https://www.icann.org/epp#clientUpdateProhibited)', 'clientTransferProhibited (https://www.icann.org/epp#clientTransferProhibited)', 'clientDeleteProhibited (https://www.icann.org/epp#clientDeleteProhibited)', 'serverUpdateProhibited (https://www.icann.org/epp#serverUpdateProhibited)', 'serverTransferProhibited (https://www.icann.org/epp#serverTransferProhibited)', 'serverDeleteProhibited (https://www.icann.org/epp#serverDeleteProhibited)'], 'emails': ['abusecomplaints@markmonitor.com', 'whoisrelay@markmonitor.com'], 'dnssec': 'unsigned', 'name': None, 'org': 'Beijing Baidu Netcom Science Technology Co., Ltd.', 'address': None, 'city': None, 'state': 'Beijing', 'zipcode': None, 'country': 'CN'} 

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!