python 爬虫快速入门,python爬虫怎么做?
python 爬虫快速入门目录
全方面的掌握Requests库的使用【python爬虫入门进阶】(02)
python 爬虫快速入门
1. 安装必要的库
打开终端或命令提示符,并输入以下命令安装这些库:
```shell
pip install requests beautifulsoup4
```
2. 导入必要的库
在Python脚本中导入所需的库:
```python
import requests
from bs4 import BeautifulSoup
```
python爬虫怎么做?
大到各类搜索引擎,小到日常数据采集,都离不开网络爬虫。
爬虫的基本原理很简单,遍历网络中网页,抓取感兴趣的数据内容。
这篇文章会从零开始介绍如何编写一个网络爬虫抓取数据,然后会一步步逐渐完善爬虫的抓取功能。
工具安装
我们需要安装python,python的requests和BeautifulSoup库。
我们用Requests库用抓取网页的内容,使用BeautifulSoup库来从网页中提取数据。
安装python
运行pipinstallrequests
运行pipinstallBeautifulSoup
抓取网页
完成必要工具安装后,我们正式开始编写我们的爬虫。
我们的第一个任务是要抓取所有豆瓣上的图书信息。
我们以/subject/26986954/为例,首先看看开如何抓取网页的内容。
使用python的requests提供的get()方法我们可以非常简单的获取的指定网页的内容,代码如下:
提取内容
抓取到网页的内容后,我们要做的就是提取出我们想要的内容。
在我们的第一个例子中,我们只需要提取书名。
首先我们导入BeautifulSoup库,使用BeautifulSoup我们可以非常简单的提取网页的特定内容。
连续抓取网页
到目前为止,我们已经可以抓取单个网页的内容了,现在让我们看看如何抓取整个网站的内容。
通过以上几步我们就可以写出一个最原始的爬虫。
在理解了爬虫原理的基础上,我们可以进一步对爬虫进行完善。
写过一个系列关于爬虫的文章:/i6567289381185389064/。
感兴趣的可以前往查看。
Python基本环境的搭建,爬虫的基本原理以及爬虫的原型
Python爬虫入门(第1部分)
如何使用BeautifulSoup对网页内容进行提取
Python爬虫入门(第2部分)
爬虫运行时数据的存储数据,以SQLite和MySQL作为示例
Python爬虫入门(第3部分)
使用seleniumwebdriver对动态网页进行抓取
Python爬虫入门(第4部分)
讨论了如何处理网站的反爬虫策略
Python爬虫入门(第5部分)
对Python的Scrapy爬虫框架做了介绍,并简单的演示了如何在Scrapy下进行开发
Python爬虫入门(第6部分)
如何入门 Python 爬虫
从爬虫基本要求来看:
1. 抓取:抓取最基本就是拉网页回来,所以第一步就是拉网页回来,慢慢会发现各种问题待优化;
2. 存储:抓回来一般会用一定策略存下来,可以选择存文件系统开始,然后以一定规则命名。
3. 分析:对网页进行文本分析,可以用认为最快最优的办法,比如正则表达式;
4. 展示:要是做了一堆事情,一点展示输出都没有,如何展现价值。
全方面的掌握Requests库的使用【python爬虫入门进阶】(02)
上一篇文章简单的介绍了 爬虫相关的基础知识点,介绍了一个标准的三个步骤 。
这篇文章就让我们接着来学习。
本文重点介绍requests库的使用以及。
之前也写了一篇 Requests库使用的博客 ,有兴趣的小伙伴可以去看看。
前面介绍了Requests库是用来抓取网页源码,请求接口的利器,整体上是要比urllib库的request更加好用的库。
Requests库有7个主要方法。
不过我们平常最常用的方法还是GET方法和POST方法。
get请求方法是爬虫中最常用到的方法,因为爬虫主要就是爬取网页的信息。
最基础的使用是
这里需要通过 res.encoding='utf-8' 设置响应结果的编码格式是utf-8。
不然可能会出现中文
如果响应结果是二进制数据的话则需要通过 res.content 方法来提取响应结果。
设置编码的方式也可以是 res.content.decode('utf-8') 。
即
有时候get请求也需要传入参数,这里可以直接将参数拼接到URL上或者通过params参数传入一个字典。
运行结果是:
get请求只能传入简单的参数,如果参数比较复杂或者传入的参数比较多的话则GET请求就不再适用了,这时候就需要适用post请求方法了。
Post请求的请求类型有三种:
以表单的方式提交数据是POST请求的默认的请求格式,只需要将参数放在一个字典中进行传入即可。
这里将请求头的数据放在一个名为header的字典中,然后在请求时通过headers参数传入。
在请求中设置了内容类型是 application/json ,编码格式是 charset=utf-8
传入的是一个json,通过data参数进行传入。
json字符串可以直接写也可以通过 json.dumps(dict) 方法将一个字典序列化,就像下面这样。
文件上传与本节爬虫的内容无关,在此就不过多介绍了。
有兴趣的小伙伴可以看看 Python中如何编写接口,以及如何请求外部接口 这篇文章。
在网络请求中,我们常常会遇到状态码是3开头的重定向问题,在Requests中是默认开启允许重定向的,即遇到重定向时,会自动继续访问。
通过将allow_redirects 属性设置为False不允许重定向。
通过timeout属性可以设置超时时间,单位是秒。
get方法和post方法均可设置。
通过status_code属性可以获取接口的响应码。
有时候我们使用了,这时候由于抓包证书提供的证书并不是受信任的颁发机构颁发的,所以证书的验证会失败,所以我们就需要关闭证书验证。
在请求的时候把verify参数设置为False就可以关闭证书验证了。
爬虫协议也叫做,告诉哪些页面可以爬取,哪些页面不能爬取
爬虫文件的规范是:
允许所有的机器人
本文详细介绍了Request库的使用
(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)