一.windows平台下requests的安装

1.win+R,输入cmd,打开命令行窗口,输入命令:pip install requests ,即可自动安装库成功

2.输入命令:pip list,即可查看所有已安装的模块,可以看到requests已成功安装

二.利用Requests写一个贴吧爬虫

1.首先导入模块:import requesets

2.写一个类,__init__方法需要一个参数tieba_name,来表示要爬取的贴吧名字,同时为该类的对象设置属性self.url_temp和self.hearders,他们分别表示,要爬取的贴吧网站和请求头

3.方法说明:

get_url_list(self):该方法生成要爬取的贴吧的每一页的网站列表,因为贴吧每增加一页,网页参数pn加50(第一页为0),因此用列表推导式

[self.url_temp.format(i * 50) for i in range(1000)]生成列表;

parse_url(self, url):传入一个要爬去的网页,获取其数据流并解码,使用requests.get()方法,该方法用于请求一个网页,这里传递给它两个参数,一个是要爬去的网站,另一个是请求头;

save_html(self, html_str, page_num):用于保存页面内容;

run(self):运行该爬虫对象;

4.测试:以下代码中 创建了一个 爬取Python吧的对象,并爬取页面内容。运行结果如下

 import requests

 class Tiebaspider:
# 构造方法,需要一个参数tieba_name
def __init__(self, tieba_name):
self.tieba_name = tieba_name
self.url_temp = 'http://tieba.baidu.com/f?kw=' + tieba_name + '&ie=utf-8&pn={}'
self.hearders = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'} # 构造url列表
def get_url_list(self):
return [self.url_temp.format(i * 50) for i in range(1000)] # 发送请求,并返回请求的内容。decode()默认用utf-8解码
def parse_url(self, url):
print(url)
response = requests.get(url, headers=self.hearders)
return response.content.decode() # 保存内容
def save_html(self, html_str, page_num):
file_path = '{}吧_第{}页.html'.format(self.tieba_name, page_num)
# 注意给encodeing传递编码参数,否则会产生无法编码的异常
with open(file_path, "w", encoding='utf-8') as f_obj:
f_obj.write(html_str) #
def run(self):
# 1.构造url列表
url_list = self.get_url_list()
# 2.遍历,发送请求,
for url in url_list:
page_num = url_list.index(url) + 1 # 页码数
html_str = self.parse_url(url) # 发送请求,返回内容
self.save_html(html_str, page_num) # 保存内容 if __name__ == '__main__':
tieba_spider = Tiebaspider('python')
tieba_spider.run()

Python——requests的安装及入门-贴吧爬虫的更多相关文章

  1. (转)python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  2. python requests的安装与简单运用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...

  3. 转: python requests的安装与简单运用

    requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢? 官方文档中是这样说明的: python的标准库urlli ...

  4. 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程

    点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...

  5. 「Python」python-nmap安装与入门

    1.安装namp https://nmap.org/download.html 下载链接 PS:windows安装似乎麻烦一些,需要多下载npcap,官网有链接 2.python安装 注意,注意,注意 ...

  6. OpenCV:Python下OpenCV安装和入门最强详细攻略

    一.关于OpenCV简介       OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效— ...

  7. python requests的安装与简单运用(转)

    http://www.cnblogs.com/fightformylife/p/4134986.html http://cn.python-requests.org/zh_CN/latest/ htt ...

  8. 转:Python requests 快速入门

    迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...

  9. Python Requests快速入门

    迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: Requests 已安装 Requests ...

随机推荐

  1. C51串口的SCON寄存器及工作…

    原文地址:C51串口的SCON寄存器及工作方式作者:batistar 一,串行口控制寄存器SCON 它用于定义串行口的工作方式及实施接收和发送控制.字节地址为98H,其各位定义如下表: D7 D6 D ...

  2. Hotspot垃圾回收器

    Hotspot垃圾回收器 HotSpot虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,没有最好的垃圾收集器,只有最适合的垃圾收集器.我们可以根据自己实际的应用需求选择最适合的垃圾收集器.根据新 ...

  3. 201671010127 2016—2017-2 java编程中遇到的问题

    学习了Java的一些基本语法后,心里的激动无法按捺,总是比较Java与C语言语法的区别,一有闲时间就会用刚学的Java基本语法写一些简单的程序.这不,一不小心又陷入了困难,本人在此诚挚的请教各位园友, ...

  4. 【光速使用开源框架系列】图片加载框架ImageLoader

    [关于本系列] 最近看了不少开源框架,网上的资料也非常多,但是我认为了解一个框架最好的方法就是实际使用.本系列博文就是带领大家快速的上手一些常用的开源框架,体会到其作用. 由于作者水平有限,本系列只会 ...

  5. Opencv图像变成灰度图像、取反图像

    #include <iostream>#include <opencv2/opencv.hpp> using namespace cv;using namespace std; ...

  6. 基于Nginx简单实现动静分离

    1.首先安装Nginx 2.在Nginx.conf文件中添加如下配置: server{ listen 80; server_name www.lf.com; location ~ (.jpg|.png ...

  7. jQuery基础教程-第8章-003Providing flexible method parameters

    一.The options object 1.增加阴影效果 (function($) { $.fn.shadow = function() { return this.each(function() ...

  8. linux操作小技巧

    巧妙利用别称 alias,让工作更有效率 在我的个人目录下/home/zdwu,打开.bashrc文件进行修改: 将  ll='ls -alF' 改为 ll='ls -ahlF',是的观察的结果显示更 ...

  9. GridView删除行

    在GridView绑定数据的时候需要设置该GridView的主键值,设置的这个主键与取出来的数据的一个字段对应.比如,取出来的数据表中有个ID的字段,那设这个ID为该GridView的主键是比较好的. ...

  10. C++读取txt文件(VS)

    最常用的方法?https://www.cnblogs.com/nkzhangcheng/p/7722568.html https://blog.csdn.net/a125930123/article/ ...