【1】网络爬虫简介

网络爬虫何时有用

假设我们有一个鞋店,并且想要及时了解竞争对手的价格。我们可以每天访问他们的网站,与我们的价格进行对比。但是,如果我们店铺只能够的鞋类种类繁多,或者希望能够更加频繁地查看价格变化的话,就需要花费大量的时间,甚至难以实现。再举一个例子,我们看中了一双鞋,想要它促销时再购买。我们可以等待几个月的时间,我们才能如愿盼到这双鞋促销。上面的情况,是重复性的手工流程,这些都是我们可以利用爬虫技术来实现自动化处理的。

理想状态下,网络爬虫并不是一种必须品,这是因为每个网站都可能提供api,以结构化的方式共享他们的数据。然而在现实中,一些网站即使提供了api,依旧会限制我们抓取的速度,以及访问频率。这个时候我们就不能仅仅依靠api去得到我们所需要的在线数据,而应该利用网络爬虫技术。

背景调研

在深入研究一个网站之前,我们需要对目标网站的规模和结构有一定程度的了解。其中网站自身的robots.txt和Sitemap文件都可以提供一定的帮助,在此之外,一些工具可以给我们提供更加详细的信息,比如google搜索和WHOIS

帮助

访问网站的robots.txt文件,则只需要在网站的首页地址后面加上/robots.txt,举个栗子,如果我们要访问https:www.baidu.com的robots.txt文件,则只需要在地址栏这样填写https:www.baidu.com/robots.txt

google搜索的技巧(百度类似),只需在域名前面加上site:即可查看该域名下的所有网址,举个小栗子,在百度搜索框这样填写site:baidu.com

识别网站所用技术

网站所使用的技术类型也会对我们如何爬取产生影响,这里给大家安利一个非常有用的模块---builtwith

pip install builtwith即可安装,举个小栗子

找到网站的拥有者

对于有一些网站,我们可能需要关心它的拥有者。比如,我们已知网站的所有者会封禁网络爬虫,那我们则需要下载速度控制的更加保守一些,为了知晓网站的所有者,我们可以使用WHOIS协议查询域名的详细信息,给大家安利一个Python的封装库。pip install whois即可安装


最近开始专研Python爬虫了,人生苦短,我用python

~~网上有许多mysql的教程,但是大多数基础教程都是使用世界上最好的语言写的demo

所以我在学习时就将自己写的一些python小栗子记录了下来

原文发布于微信公众号 - Python与MySQL(gh_f241b4810c6a)

原文发表时间:2018-03-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏EAWorld

微服务模式系列之三:API网关

译者自序: 熟悉我的朋友都知道,我很不喜欢翻译东西,因为在两种语言的思维方式之间做频繁切换对我来说是件很痛苦的事情。但是这次不一样,公司和同事的大力支持降低了我...

3014
来自专栏跨界架构师

分布式系统关注点——「负载均衡」到底该如何实施?

        前面两篇《分布式系统关注点——初识「高可用」》、《分布式系统关注点——仅需这一篇,吃透「负载均衡」妥妥的》看完后,相信大家对实现高可用的思路和负...

1401
来自专栏韩伟的专栏

经典软件架构模式(完)

如何选择架构模式 上面我们探讨了6种经典的架构模式,那么在实践中,我们到底应该如何选择呢?在次我们可以用一个案例来初步的讨论。 我们的案例是开发...

4163
来自专栏非著名程序员

Android开发者注意了,是时候陆续停止使用Eclipse开发了

谷歌宣布Android Studio将取代Eclipse 非著名程序员 ? 我相信大家都听说过或者部分开发者已经在使用Android Studio开发了,在...

21310
来自专栏开源项目

还有这种操作?构建高性能微服务架构 | 码云周刊第 29 期

高性能微服务架构 码云项目推荐 1基于 Java 8 的微服务框架 Redkale 项目简介:Redkale (中文名: 红菜苔,湖北武汉的一种特产蔬菜) 是基...

44413
来自专栏互联网技术栈

读《大型网站技术架构》

《大型网站技术架构》是自己接触的第一本架构知识的书籍,还是在14年时买的实体书,前后读了几遍,颇有所得,后来实体书被朋友借走再没归还,也就没再翻过。

1102
来自专栏韩伟的专栏

经典软件架构模式(三)

REST模式 让我们回到服务器端开发。一直以来,互联网服务就以数据互通为最重要的业务特性。我们来看看一个微博系统的案例。 ? 【此案例并非完全真实情况,有一定提...

3317
来自专栏NetCore

对于大数据大流量情况下微软架构的水平扩展的遐想(瞎想)

最近回顾SAAS的书籍,书中的扩展架构都有点让我痴迷,但书中介绍的都是以Java,Apache,JBoss,Hadloop等技术实现负载均衡,大数据处理,对于微...

2258
来自专栏企鹅号快讯

分布式架构的套路No.74

今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构? 大多数的开发者大多数的系统可能从来没接触过分布式系...

3839
来自专栏腾讯云TStack专栏

腾讯私有云MySQL解决方案—TDSQL

TDSQL是腾讯提供的一套完整的MySQL数据库集群化管理解决方案,作为私有云TStack平台重要的数据库产品能力,旨在解决高可用、高性能、分布式、配套设施等方...

7279

扫码关注云+社区

领取腾讯云代金券