所谓的爬虫,就是通过模拟点击浏览器发送网络请求,接收站点请求响应,获取互联网信息的一组自动化程序。 也就是,只要浏览器(客户端)能做的事情,爬虫都能够做。
      现在的互联网大数据时代,给予我们的是生活的便利以及海量数据爆炸式的出现在网络中。除了网页,还有各种手机APP,例如微信、微博、抖音,一天产生高达亿计的状态更新信息, 百度任意一个词条,也可以得到无数相关信息,但是我们得到了海量的信息,但是大多数都是无效的垃圾信息,在海量的信息中,要筛选来得到有用的信息,手动筛选不仅效率慢,还费时;但利用爬虫和数据库,不仅可以保存相关特定的数据,还可以通过特定的程序来筛选出有用的信息。
      可以用来爬虫的语言有很多,常见的有PHP,JAVA,C#,C++,Python等,由于Python有足够相关的库,用python做爬虫相对比较简单,且功能比较齐全。
下面就先了解一下基于python爬虫基本配置:
1、由于一直是用基于anaconda平台的python,继续使用,具体安装可以参考python入门基础(1)—安装
2、为了方便大家安装,特意汇总了一下可能需要安装python相关库,直接在Anaconda prompt中粘贴以下代码,即可自动安装,直至安装完成。

pip3 install urllib3 -i https://mirrors.aliyun.com/pypi/simple/
pip3 install requests -i https://mirrors.aliyun.com/pypi/simple/
pip3 install selenium -i https://mirrors.aliyun.com/pypi/simple/
pip3 install chromedriver -i https://mirrors.aliyun.com/pypi/simple/
pip3 install phantomjs -i https://mirrors.aliyun.com/pypi/simple/
pip3 install lxml -i https://mirrors.aliyun.com/pypi/simple/
pip3 install beautifulsoup4 -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pyquery -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pymysql -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pymongo -i https://mirrors.aliyun.com/pypi/simple/
pip3 install redis -i https://mirrors.aliyun.com/pypi/simple/
pip3 install flask -i https://mirrors.aliyun.com/pypi/simple/
pip3 install django -i https://mirrors.aliyun.com/pypi/simple/
pip3 install jupyter -i https://mirrors.aliyun.com/pypi/simple/
pip3 install splash -i https://mirrors.aliyun.com/pypi/simple/
pip3 install docker -i https://mirrors.aliyun.com/pypi/simple/
pip3 install scapy -i https://mirrors.aliyun.com/pypi/simple/
pip3 install spyder -i https://mirrors.aliyun.com/pypi/simple/
pip3 install matplotlib -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pandas -i https://mirrors.aliyun.com/pypi/simple/
pip3 install scikit-learn -i https://mirrors.aliyun.com/pypi/simple/
pip3 install GeckoDriver -i https://mirrors.aliyun.com/pypi/simple/
pip3 install PhantomJS -i https://mirrors.aliyun.com/pypi/simple/
pip3 install aiohttp -i https://mirrors.aliyun.com/pypi/simple/
pip3 install tesserocr -i https://mirrors.aliyun.com/pypi/simple/
pip3 install RedisDump -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Tornado -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Charles -i https://mirrors.aliyun.com/pypi/simple/
pip3 install mitmproxy -i https://mirrors.aliyun.com/pypi/simple/
pip3 install mitmdump -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Appium -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pyspider -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapy-Splash -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapy-Redis -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Docker -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapyd -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapyd-Client -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapyd API -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Scrapydrt -i https://mirrors.aliyun.com/pypi/simple/
pip3 install Gerapy -i https://mirrors.aliyun.com/pypi/simple/
pip3 install pygame -i https://mirrors.aliyun.com/pypi/simple/
pip3 install nbconvert -i https://mirrors.aliyun.com/pypi/simple/

至于每个库是具体是做什么用的,大致可以分为以下几类:

1)请求库:requests 、Selenium、ChromeDriver、GeckoDriver、phantomJS、aiohttp,主要是用来实现http请求操作。

2)解析库:lxml、BeautifulSoup、pyquery、tesserocr,抓取网页代码后,需要从网页中提取有用信息,解析库就提供了非常强劲的解析方法,可以高效、便捷从网页代码中提取有用的信息。

3)数据库:Mysql、MongoDB、redis,数据库作为数据存储的重要部分,也是爬虫中必不可少的一部分,主要用来存储提取到的有用信息。具体安装,自行百度一下。

4)存储库:PyMySQL,PyMongo、redis-py、redisDump,你可以将这几个当成是python程序与数据库mysql/mongodb/redis等接口,数据库用来提供存储服务,保存数据,而存储库是用来在两者之间进行交互的。

5)web库:flask、tornado库,主要是用web库程序来搭建一些API接口,供我们的爬虫使用。

6)app库:Charles、mitmproxy、mitmdump、Appium,手机APP数据量也非常大,爬虫也可以抓取APP的数据,因此可以用一些抓包技术来抓取数据。

7)爬虫框架:pyspider、Scrapy、Scrapy-Splash、Scrapy-redis等,框架可以简化代码,架构清晰,只需要关心爬取逻辑。

8)部署相关库:Docker、Scrapyd、Scrapyd-Client、Scrapyd API 、Scrapydrt、Gerapy。

如果想要大规模抓取数据,就会用到分布式爬虫。对于分布式当使用分布式爬虫,需要多台主机,每台主机有多个爬虫任务,但源代码其实只有一份。
  将一份代码同时部署到多台主机上,进行协同运行。Scrapy有一个扩展组件,叫作 Scrapyd,只需要安装该扩展组件,即可远程管理Scrapy 任务,
  包括部署源码、启动任务、监听任务等。另外,还有 Scrapyd-Client 和 Scrapyd API来帮助我们更方便地完成部署和监听操作。
         另外一种部署方式,那就是 Docker 集群部署。只需要将爬虫制作为 Docker 镜像,只要主机安装了Docker,就可以直接运行爬虫,而无需再去担心环境配置、版本问题。

后面我们再分别针对上述几个部分分别作详细介绍。

翻译

搜索

复制

python爬虫入门(1)-开发环境配置的更多相关文章

  1. 扩展Python模块系列(一)----开发环境配置

    本系列将介绍如何用C/C++扩展Python模块,使用C语言编写Python模块,添加到Python中作为一个built-in模块.Python与C之间的交互目前有几种方案: 1. 原生的Python ...

  2. Golang入门及开发环境配置

    Go语言诞生背景 计算机硬件更新频繁,主流编程语言无法发挥多核多CPU的性能 软件系统复杂度不断变高,缺乏简洁高效的编程语言 C/C++运行速度快,但编译速度慢 Go语言特点 静态类型开发语言 静态: ...

  3. Python在Windows下开发环境配置汇总

    最近比较关注学习Python方面的资料和课程,由于Python本身基本都是在Linux下开发,本人windows用习惯了初用Linux各种别扭啊. 下面将我在配置Windows环境下的禁言写出来,与大 ...

  4. Django的基本开发环境配置和MTV模型

    一.MTV模型 Django的MTV分别代表: Model(模型):负责业务对象与数据库的对象(ORM) Template(模版):负责如何把页面展示给用户 View(视图):负责业务逻辑,并在适当的 ...

  5. python爬虫入门-开发环境与小例子

    python爬虫入门 开发环境 ubuntu 16.04 sublime pycharm requests库 requests库安装: sudo pip install requests 第一个例子 ...

  6. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置

    图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...

  7. Kinect for Windows SDK开发入门(一):开发环境配置

    [译]Kinect for Windows SDK开发入门(一):开发环境配置 前几天无意中看到微软发布了Kinect for windows sensor,进去看了一下Kinect应用的例子,发现K ...

  8. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...

  9. Linux—CentOS7下python开发环境配置

    CentOS7下python开发环境配置 上一篇博客讲了如何在Centos7下安装python3(https://www.cnblogs.com/zivli/p/9937608.html),这一次配置 ...

  10. python 开发环境配置

    上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...

随机推荐

  1. C语言。格式化符号

    %s 输出字符串 %d 输出整形数字 %f 输出浮点数数字 %c 输出字符 %x 输出16进制 %04d 输出长度固定的整形数字(0001,0002,....)

  2. Mysql基础6-常用数据库函数

    一.字符串函数 1.常见Mysql内置字符串函数 concat(s1,s2,s3,...):字符串拼接,将s1,s2,s3...等拼接成一个字符串 lower(str):将字符串str全部转为小写 u ...

  3. C语言循环坑 -- continue的坑

    文章目录 前言 一.continue语法 1.continue的作用 2.语法 二.大坑项目 题目 分析 正确写法 三.进坑调试 第一种 第二种 总结 前言 在使用continue和break时,会出 ...

  4. windows CMD命令的一些使用方法及注意事项

    windows CMD命令的一些使用方法及注意事项 转载请著名出处:https://www.cnblogs.com/funnyzpc/p/17572397.html 一.执行路径或参数带中文.空格.特 ...

  5. Linux 命令:find/grep/sed/awk/du/df

    目录 find grep sed awk du/df find # find 属于全部匹配,如输入abc,不能查到abcd # find 默认采用递归搜索 # 按时间 find . -atime -1 ...

  6. 西门子HMI切换页面时的指示功能

    怎么样才能做到像这样按下切换界面的按钮,切换过去之后对应的切换按钮还进行高亮指示呢? 首先我们要先新建模板,把我们的画面拖拽到模板里就会形成按钮 在画面的"属性"中 在属性中选上我 ...

  7. CF1601 题解

    偶然看这一场的题目,忽然很有感觉,于是写了一下 A 题面 考虑每一位可以单独分开考虑 考虑单独的一位,每次要选 \(m\) 个位置,可能产生贡献的位置就是这位为 1 的数,设数量为 \(x\),则 \ ...

  8. go创建web项目分别在windows和linux部署

    转载请注明出处: 要在Linux服务器上运行Go的Web项目,可以按照以下步骤进行操作: 在服务器上安装Go:首先,在Linux服务器上安装Go编程语言.你可以从官方网站(https://golang ...

  9. selenium报错:This version of ChromeDriver only supports Chrome version 109 Current browser version is 112.0.5615.49...解决办法

    前言:跟GPT交互,让其写一段代码,执行失败.经过排查验证,GPT写的代码没有问题,是本地环境问题. 执行报错: selenium.common.exceptions.SessionNotCreate ...

  10. 日志监控平台搭建(Loki+promtail+grafana)

    搭建Loki+promtail+grafana日志监控平台,可以直接在grafana的UI界面查看系统应用日志,使日志查看起来更方便.快捷.   Loki:主服务器,负责存储日志和处理查询. Prom ...