爬虫第一步,网络信息采集
自己爬虫经验总结
项目地址
网络信息采集
在编写爬虫之前可能需要先了解和搜集网站信息
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框架,还能知道网站用什么语言开发的,服务器类型等等
爬虫第一步,网络信息采集相关推荐
- 【Python3爬虫】学习分布式爬虫第一步--Redis分布式爬虫初体验
一.写在前面 之前写的爬虫都是单机爬虫,还没有尝试过分布式爬虫,这次就是一个分布式爬虫的初体验.所谓分布式爬虫,就是要用多台电脑同时爬取数据,相比于单机爬虫,分布式爬虫的爬取速度更快,也能更好地应对I ...
- 学习爬虫第一步-爬取王者荣耀助手上的英雄图片
我参考了https://blog.csdn.net/c406495762/article/details/76850843这篇文章,写的很好,照着一步步地做就好. (1)首先是安装 Fiddler,之 ...
- Python爬虫第一步之获取网页源代码
软件使用:Python2.7 +Pycharm,稍后使用Python3.5+notepad++试试 #coding: utf-8 import urllibdef getHtml(url):page ...
- 爬虫获取不到网页完整源码_你的第一只网络爬虫
" 我相信有相当大部分人,学习python最初动机,就是做一个网络爬虫,虽然python的主要强项是数据分析方面(至少我是这样认为的),但这并不妨碍它成为目前最主流的网络爬虫编写语言.&qu ...
- 【网络爬虫入门01】应用Requests和BeautifulSoup联手打造的第一条网络爬虫
[网络爬虫入门01]应用Requests和BeautifulSoup联手打造的第一条网络爬虫 广东职业技术学院 欧浩源 2017-10-14 1.引言 在数据量爆发式增长的大数据时代,网络与用户的沟 ...
- 《小朱家的爬虫》第二课------- 编写第一个网络爬虫
一.Python的安装 就在这安装就好了 https://www.python.org/getit/ 一定要注意选择自己电脑的型号,其他的倒也是没啥 这里我推荐的编译器是PyCharm,别问什么,我要 ...
- TFN光时域反射仪,维修、安装网络的第一步!
网络是现代人生活中不可或缺的一个重要工具,大家都知道接网线,但是几乎只有专业人士才知道光缆才是网线的第一步,而当光缆出了问题,我们通常会用到OTDR. OTDR具有广泛的用途,主要用来测量光纤长度.光 ...
- 上手树莓派第一步(树莓派的的网络连接及屏幕分辨率设置)
树莓派官方系统,完全可以看做是一个普通linux系统的增量版本,其增加了一些树莓派的特有属性,强大的系统跑在了一块卡片般的板子上,其产生的效果将无法想象.下面的十二步是通过一根网线连接树莓派,最简单的 ...
- Mapbox网络GIS开发第一步——Mapbox本地化
对于使用mapbox_gl_js来进行的前端地图页面的开发,通常我们可以直接调用在线的mapbox组件资源,轻易的使用mapbox_gl_js提供的前端开发框架,但是由于网络延迟等一些列网络上的不确定 ...
最新文章
- [转载] HTTP 之 IOS一谈
- String和C#中的string有什么区别?
- phpcms v9二次开发及使用中各种问题解决方案(一)
- java能过吗_java – 你能通过例子解释AspectJ的cFlow(P u00...
- Linux系统PATH变量配置
- Bootstrap3 Font Awesome 字体图标带边框的图标
- Spring Boot学习总结(13)——Spring Boot加载application.properties配置文件顺序规则
- 【原创】Git版本控制器的基本使用
- Pytorch中的torch.nn.Embedding()
- matlab数字带通滤波器的设计,基于MATLAB的数字带通FIR滤波器设计.doc
- ERP标准物料编码规则及方法
- 国内最强Web3D软件WebMax正式版发布
- 为什么要在单片机程序中使用结构体和指针
- oracle脚本怎么跑,命令行执行oracle的sql脚本逃跑吧少年秒开钥匙下载最
- 留存/复购cohort
- h5前端IE浏览器低版本判断及升级提示
- Android加载本地大Bitmap文件,解析出来的Bitmap是整张图片是黑色的
- matlab 莫比乌斯曲面,『Rhino实例.2』莫比乌斯曲面
- Kafka消费组rebalance原理
- linux arecord录音