爬虫随笔(1):Spyder(Python 2.7)环境搭建 & 爬虫初体(ru)验(keng)

一、前言

今天说起大数据已经不陌生了,而做大数据分析的第一步就是拿到大量的数据。一般企业自己积累的数据不会很多,也不一定有价值。所以,万维网作为大量信息的载体,自然成了一个理想渠道。关于网络爬虫,百度百科的介绍是这样的:

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。 ——引用自百度百科

说来也巧,百度本身就是爬虫起家的公司,而它的前辈就是赫赫有名的谷歌搜索引擎。谷歌的创始人可以说是第一个做到数据赚钱的人了。笔者也是个本科在读小白,这个月偶然参与到一个训练营,写些记录。

二、爬虫环境搭建

首先,我们选取Anaconda来开启爬虫之旅,为什么呢?

因为Anaconda是一个开源的Python发行版本,包含180多个科学包及其依赖项。

Python本身是一门严重依赖依赖的语言,如果你在学习之初没有很好的规划,后面可能会有点乱(版本、包)。

笔者是这样的:前期安装Anaconda2.7版本,各种环境和包配置在其自带的Python27上,后面转用pycharm可以选择继续使用这套环境,只要导入就行了。

好的,那么首先是Anaconda的安装。

###安装Anaconda

首先,根据系统情况下载对应的anaconda:

清华镜像:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

南方科大镜像:http://mirrors.sustc.us/

官网:https://www.anaconda.com/download/

Python2.7下载anaconda2-5.0以上版本

接下来安装过程中,注意以下几点:

  • Advanced Options中两项都要勾选,将anaconda加入到系统环境变量中,并把当前anaconda作为系统默认Python环境。
  • 跳过vscode的安装
  • 安装完成后,在Windows的窗口中搜索anaconda,打开anaconda navigator,进入anaconda
  • 如果打开导航后无法进入anaconda界面,则检查电脑中是否安装visual c++ redistributable;如果未安装,需安装visual c++ Redistributable。
  • Visual Redistributable c++ 2015下载地址

接下来,只要进入anaconda navigator后点击启动Spyder就可以开始编程啦。

还有一步设置anaconda国内镜像的,在CMD执行

# 添加Anaconda的TUNA镜像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes

###安装爬虫需要的包

在命令行窗口执行:

> pip install requests
> pip install scrapy
> pip install beautifulsoup

三、实现访问网站

大多数人有这样一条必由之路:某天突然踏入爬虫的领域,没有学院式的指导,你开始试着用Resquests库勉强开发了一个能跑得动的爬虫:访问网站,下载源码,挣扎在BeautifulSoup中,提取数据,拙劣的反爬手段……第一次写的程序跑起来很慢,也有很多细节没处理好,于是你让它整夜地跑,最终大部分数据拿到手了。而下一次,当你对爬虫的工作流程非常熟练了,你会直奔Scrapy——优雅的框架,这是后话了。

如果没接触过前端开发,那你可能要去补一下知识。我也没系统接触过前端Web,但对于网络连接的基础知识还是能理解。事实上爬虫也就是用机器模拟人的行为去访问网站而已,而我们编写程序需要做的也就是根据Web编写的规律去有效的抓取我们需要的东西。所以我们至少要知道访问网站的时候发生了什么。
###request和response

关于response的介绍 在CSDN上已经有了介绍。当web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。也许说到这里还是有点迷,那我们先来看一下代码。
###requests模块

说明一下,我使用的是python2.7。首先安装好requests这个模块:CMD下pip install requests。接下来,我们随便选择一个网站来抓取咨询,我这里用的是

CSDN的网站主页:https://www.csdn.net/
东方财富网的某个新闻页面:http://finance.eastmoney.com/news/cywjh.html

安装完requests包后,我们先看一下源码,了解一下这个模块

"""
Requests HTTP Library
~~~~~~~~~~~~~~~~~~~~~

Requests is an HTTP library, written in Python, for human beings. Basic GET
usage:

   >>> import requests
   >>> r = requests.get('https://www.python.org')
   >>> r.status_code
   200
   >>> 'Python is a programming language' in r.content
   True

... or POST:

   >>> payload = dict(key1='value1', key2='value2')
   >>> r = requests.post('http://httpbin.org/post', data=payload)
   >>> print(r.text)
   {
     ...
     "form": {
       "key2": "value2",
       "key1": "value1"
     },
     ...
   }


"""

这里告诉我们,这个包是一个HTTP Library,我们可以用它来连接某个网站的url进而获取数据。并且给出了使用方法,所以我么你可以很简单写出:

# -*- coding: utf-8 -*-
import requests
req=requests.get('https://www.csdn.net')

简单的一行代码,如果你在命令行输入req<

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值