python爬虫在哪写_你是如何开始能写 Python 爬虫?

一、前言

你是不是在为想收集数据而不知道如何收集而着急?

你是不是在为想学习爬虫而找不到一个专门为小白写的教程而烦恼?

Bingo! 你没有看错,这就是专门面向小白学习爬虫而写的!我会采用实例的方式,把每个部分都跟实际的例子结合起来帮助小伙伴儿们理解。最后再写几个实战的例子。

我们使用Python来写爬虫,一方面因为Python是一个特别适合变成入门的语言,另一方面,Python也有很多爬虫相关的工具包,能够简单快速的开发出我们的小爬虫。

本系列采用Python3.5版本,毕竟2.7会慢慢退出历史舞台~

那么,接下来,你得知道什么是爬虫、爬虫从哪里爬取数据的,以及,学习爬虫都要学习哪些东西。

新建了一个

python学习交流群,先是301在加上056还有051,在群里大家都是在相互交流分享,能够得到很多不同的东西

二、什么是爬虫

来看看百度百科是如何定义的

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

什么?没看懂?没关系,我来给你解释一下

打开一个网页,里面有网页内容吧,想象一下,有个工具,可以把网页上的内容获取下来,存到你想要的地方,这个工具就是我们今天的主角:爬虫。

这样是不是更清晰了呢?

既然了解了爬虫是什么,那么爬虫是如何爬取数据的呢?

三、爬虫是哪里爬取数据的

打开浏览器(强烈建议谷歌浏览器),找到浏览器地址栏,然后在里敲http://music.163.com,你会看到网页内容。

欸,图片中间那俩人在干嘛?(单身狗请主动防御,这是误伤,这真的是误伤!)

鼠标在页面上点击右键,然后点击view page source。看到这些文字了吗?这才是网页最赤果果的样子。

其实所有的网页都是HTML代码,只不过浏览器将这些代码解析成了上面的网页,我们的小爬虫抓取的其实就是HTML代码中的文本啦。

这不合理啊,难不成那些图片也是文本?

恭喜你,答对了。回到浏览器中有图的哪个tab页,鼠标右键,点击Inspect。会弹出一个面板,点击板左上角的箭头,点击虐狗图片,你会看到下面有红圈圈的地方,是图片的网络地址。图片可以通过该地址保存到本地哦。

你猜的没错,我们的小爬虫抓取的正是网页中的数据,你要知道你想要抓取什么数据,你的目标网站是什么,才可以把想法变成现实的哦。你不能说,我想要这个这个,还有这个,然后数据就自动来了。。。(是不是让你想起了你的导师或老板?)

四、学习爬虫的必备知识

大家要先对以下内容有一定的了解再来学习爬虫哦,磨刀不误砍柴工

HTML

这个能够帮助你了解网页的结构,内容等。可以参考W3School的教程。

Python

如果有编程基础的小伙伴儿,推荐看一个廖雪峰的Python教程就够了

没有编程基础的小伙伴,推荐看看视频教程(网易云课堂搜Python),然后再结合廖雪峰的教程,双管齐下。

其实知乎上总结的已经非常好了,我就不多唠叨了。知乎-如何系统的自学Python

TCP/IP协议,HTTP协议

这些知识能够让你了解在网络请求和网络传输上的基本原理,了解就行,能够帮助今后写爬虫的时候理解爬虫的逻辑。

廖雪峰Python教程里也有简单介绍,可以参考:TCP/IP简介,HTTP协议

想更深入学习的小伙伴儿可以去网上多搜搜相关的书籍哦

一、前言

为什么要先说Requests库呢,因为这是个功能很强大的网络请求库,可以实现跟浏览器一样发送各种HTTP请求来获取网站的数据。网络上的模块、库、包指的都是同一种东西,所以后文中可能会在不同地方使用不同称谓,不要迷惑哦。

结合一个实例来讲解吧。我的一个设计师小伙伴常去一些设计类网站收集素材,其中有个网站Unsplash里面美图特别多,所以想要把里面的图片都保存下来,这样咱们的小爬虫就登场了。说干就干,赶紧开始吧。

先来准备环境

二、运行环境

系统版本

我使用的是Windows10。

好多小伙伴使用的是Mac,配置上基本相同。由于我多年混迹于微软的开发平台,经常使用Visual Studio、SQL Server啥的,用Windows用习惯了(其实主要是因为Qiong穷!)。所以这个教程我就以Windows系统为例了。

Python版本

我电脑装了好多个Python版本(学一个装一个。。。),不过推荐使用Anaconda这个科学计算版本,主要是因为它自带一个包管理工具,可以解决有些包安装错误的问题。去Anaconda官网,选择Python3.5版本,然后下载安装。

IDE

我使用的是PyCharm,是专门为Python开发的IDE。这是JetBrians的产品,点我下载。

三、requests 库的安装

使用Anaconda 版本的得小伙伴儿:用管理员权限运行cmd命令窗口,然后输入

conda install requests

看动图:

直接使用Python3.5的小伙伴儿输入这个命令:

pip install requests

如果你机器上存在多个Python版本,要给Python3.5的版本安装requests库,需要输入以下命令:

py -3 -m pip install requests

好啦,requests库安装完毕,接下来我们会在实际例子中演示它的使用。想要深入了解requests模块的小伙伴也可以仔细阅读英文官方文档,和中文官方文档,如果用到该文没有提到的功能,则查看文档即可。

四、开工

首先我们打开PyCharm,需要选择一下它的页面主题。选择你喜欢的风格,以及选择使用的Python版本。然后打开一个你想要存放爬虫的目录,进入后长这样。

我们再创建一个python文件,输入第一行代码来导入requests库:

import requests #导入requests库

然后用它来获取咱们的目标网页:

r = requests.get('Unsplash | Free High-Resolution Photos') #像目标url地址发送get请求,返回一个response对象

print(r.text) #r.text是http response的网页HTML

在菜单栏点击“Run”,选择该文件(或者直接在窗口中点击右键,运行该文件):

执行完之后,底部会出现输出结果:

可以看到底部是获取到的网页内容。这就完成了爬虫的第一步,获取到了网页的HTML内容。

怎么样,很简单吧。

这只是用到了requests库的get请求,还有其他的请求使用也与之类似。下面我们简单介绍一下每个请求的用法。

五、requests库的使用

因为有中文的官方文档,我就不介绍所有的功能了,只把常用到的说一下,大家用到更多功能的时候再去翻官方文档吧。

requests 库就是用来发送各种请求的,所以,我们就来看看各种请求怎么使用:

5.1 get 请求

r = requests.get("Unsplash | Free High-Resolution Photos")

这就是我们刚刚用到的。其实就是向网站发送了一个get请求,然后网站会返回一个response。r 就是response。大家可以在运行的时候查看r的type。

print(type(r))

get请求还可以传递参数:

payload = {'key1': 'value1', 'key2': 'value2'}

r = requests.get("http://httpbin.org/get", params=payload)

上面代码向服务器发送的请求中包含了两个参数key1和key2,以及两个参数的值。实际上它构造成了如下网址:

http://httpbin.org/get?key1=value1&key2=value2

5.2 POST请求

无参数的post请求:

r = requests.post("http://httpbin.org/post")

有参数的post请求:

payload = {'key1': 'value1', 'key2': 'value2'}

r = requests.post("http://httpbin.org/post", data=payload)

post请求多用来提交表单数据,即填写一堆输入框,然后提交。

5.3 其他请求

其他一些请求例如put请求、delete请求、head请求、option请求等其实都是类似的。但是平时用的不多,就不仔细介绍了。有用到的可以去看官网文档哦。阅读官方文档是必备技能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值