自己爬虫经验总结
项目地址

网络信息采集

在编写爬虫之前可能需要先了解和搜集网站信息

robots.txt

Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。一般的网站都会有这个文件。可以大致了解这个网站存在哪些限制

下面是知乎的robots.txt,可以通过https://www.zhihu.com/robots.txt访问

# 禁止今日头条和悟空问答爬虫抓取知乎网站内容
User-agent: *
Request-rate: 1/2 # load 1 page per 2 seconds
Crawl-delay: 10Disallow: /login
Disallow: /logout
Disallow: /resetpassword
Disallow: /terms
Disallow: /search
Disallow: /notifications
Disallow: /settings
Disallow: /inbox
Disallow: /admin_inbox
Disallow: /*?guide*
Disallow: /people/*

其中User-agent说明了对哪些用户代理的限制,*表示限制所有的爬虫,还设置了请求速率 每两秒访问一个页面,还设置了Crawl-delay,10秒的抓取延时,为了知乎的服务器不过载,我们最好遵循一下????后面的Disallow则限制了访问的路径

用site:example.com估计网站的大小

你想抓取信息的网站有九成是被百度或者Google访问过的,通过这条命令可以快速的了解网站的大小,以便在设计爬虫的时候选择合适的方案

识别网站所用的技术

安装builtwith模块

pip install builtwith

使用方式

import builtwith as bw
res = bw.parse("https://www.zhihu.com/")
print(res)
# {'javascript-frameworks': ['React', 'RequireJS']}
res = bw.parse("https://www.upc.edu.cn/")
print(res)
# {'font-scripts': ['Font Awesome'], 'javascript-frameworks': ['jQuery']}
res = bw.parse("http://example.webscraping.com")
print(res)
#{'web-servers': ['Nginx'], 'web-frameworks': ['Web2py', 'Twitter Bootstrap'], 'programming-languages': ['Python'], 'javascript-frameworks': ['jQuery', 'Modernizr', 'jQuery UI']}

可以得知知乎使用的是React框架,还能知道网站用什么语言开发的,服务器类型等等

爬虫第一步,网络信息采集相关推荐

  1. 【Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验

    一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...

  2. 学习爬虫第一步-爬取王者荣耀助手上的英雄图片

    我参考了https://blog.csdn.net/c406495762/article/details/76850843这篇文章,写的很好,照着一步步地做就好. (1)首先是安装 Fiddler,之 ...

  3. Python爬虫第一步之获取网页源代码

    软件使用:Python2.7 +Pycharm,稍后使用Python3.5+notepad++试试 #coding: utf-8 import urllibdef getHtml(url):page ...

  4. 爬虫获取不到网页完整源码_你的第一只网络爬虫

    " 我相信有相当大部分人,学习python最初动机,就是做一个网络爬虫,虽然python的主要强项是数据分析方面(至少我是这样认为的),但这并不妨碍它成为目前最主流的网络爬虫编写语言.&qu ...

  5. 【网络爬虫入门01】应用Requests和BeautifulSoup联手打造的第一条网络爬虫

    [网络爬虫入门01]应用Requests和BeautifulSoup联手打造的第一条网络爬虫 广东职业技术学院 欧浩源 2017-10-14  1.引言 在数据量爆发式增长的大数据时代,网络与用户的沟 ...

  6. 《小朱家的爬虫》第二课------- 编写第一个网络爬虫

    一.Python的安装 就在这安装就好了 https://www.python.org/getit/ 一定要注意选择自己电脑的型号,其他的倒也是没啥 这里我推荐的编译器是PyCharm,别问什么,我要 ...

  7. TFN光时域反射仪,维修、安装网络的第一步!

    网络是现代人生活中不可或缺的一个重要工具,大家都知道接网线,但是几乎只有专业人士才知道光缆才是网线的第一步,而当光缆出了问题,我们通常会用到OTDR. OTDR具有广泛的用途,主要用来测量光纤长度.光 ...

  8. 上手树莓派第一步(树莓派的的网络连接及屏幕分辨率设置)

    树莓派官方系统,完全可以看做是一个普通linux系统的增量版本,其增加了一些树莓派的特有属性,强大的系统跑在了一块卡片般的板子上,其产生的效果将无法想象.下面的十二步是通过一根网线连接树莓派,最简单的 ...

  9. Mapbox网络GIS开发第一步——Mapbox本地化

    对于使用mapbox_gl_js来进行的前端地图页面的开发,通常我们可以直接调用在线的mapbox组件资源,轻易的使用mapbox_gl_js提供的前端开发框架,但是由于网络延迟等一些列网络上的不确定 ...

最新文章

  1. [转载] HTTP 之 IOS一谈
  2. String和C#中的string有什么区别?
  3. phpcms v9二次开发及使用中各种问题解决方案(一)
  4. java能过吗_java – 你能通过例子解释AspectJ的cFlow(P u00...
  5. Linux系统PATH变量配置
  6. Bootstrap3 Font Awesome 字体图标带边框的图标
  7. Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则
  8. 【原创】Git版本控制器的基本使用
  9. Pytorch中的torch.nn.Embedding()
  10. matlab数字带通滤波器的设计,基于MATLAB的数字带通FIR滤波器设计.doc
  11. ERP标准物料编码规则及方法
  12. 国内最强Web3D软件WebMax正式版发布
  13. 为什么要在单片机程序中使用结构体和指针
  14. oracle脚本怎么跑,命令行执行oracle的sql脚本逃跑吧少年秒开钥匙下载最
  15. 留存/复购cohort
  16. h5前端IE浏览器低版本判断及升级提示
  17. Android加载本地大Bitmap文件,解析出来的Bitmap是整张图片是黑色的
  18. matlab 莫比乌斯曲面,『Rhino实例.2』莫比乌斯曲面
  19. Kafka消费组rebalance原理
  20. linux arecord录音

热门文章

  1. PhysicalDrive
  2. 初见倾心,土曼第三代智能手表T-Ripple新体验
  3. WebView的白屏检测与处理
  4. 树莓派连接RTL-SDR直接使用命令收听FM广播
  5. 简述汇编语言中的标号有什么规定_汇编语言期末复习题
  6. ionic开发——获取手机唯一标识imei码
  7. 移动支付快速崛起,爱贝赋能行业新发展
  8. vb.net2008 DirectX与VB.NET编程(四)3D音效理论篇
  9. 【cocos shader 007】刷子 刮刮乐,刮奖
  10. 计算机屏幕广播系统,ip网络广播终端_ip广播终端连接图_ip广播系统方案