Python——requests的安装及入门-贴吧爬虫
一.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的安装及入门-贴吧爬虫的更多相关文章
- (转)python requests的安装与简单运用
		
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
 - python requests的安装与简单运用
		
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
 - 转: python requests的安装与简单运用
		
requests是Python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢? 官方文档中是这样说明的: python的标准库urlli ...
 - 【Python高级工程师之路】入门+进阶+实战+爬虫+数据分析整套教程
		
点击了解更多Python课程>>> 全网最新最全python高级工程师全套视频教程学完月薪平均2万 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加 ...
 - 「Python」python-nmap安装与入门
		
1.安装namp https://nmap.org/download.html 下载链接 PS:windows安装似乎麻烦一些,需要多下载npcap,官网有链接 2.python安装 注意,注意,注意 ...
 - OpenCV:Python下OpenCV安装和入门最强详细攻略
		
一.关于OpenCV简介 OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效— ...
 - python requests的安装与简单运用(转)
		
http://www.cnblogs.com/fightformylife/p/4134986.html http://cn.python-requests.org/zh_CN/latest/ htt ...
 - 转:Python requests 快速入门
		
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: ·Requests 已安装 ·Reques ...
 - Python Requests快速入门
		
迫不及待了吗?本页内容为如何入门Requests提供了很好的指引.其假设你已经安装了Requests.如果还没有, 去 安装 一节看看吧. 首先,确认一下: Requests 已安装 Requests ...
 
随机推荐
- eclipse egit(分支管理 上)
			
这一章比较重要,讲述了Git比svn强大的地方,直接转载廖雪峰老师的文字,更好的理解 什么是分支 和 为什么分支git比svn做的更好 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才 ...
 - Mac设置Root密码
			
[Mac设置Root密码] Mac系统重新设置root用户密码 如果不知道root用户密码,需要重设. 命令[sudo passwd root ] 然后提示你输入当前登录用户密码,通过以后, ...
 - C#使用windows服务定时调用api接口
			
使用VS创建windows服务项目: 创建好项目 会出现一个设计界面 右键弹出对话框 选择添加安装程序 名字什么的自己可以改: 项目目录: 打开项目中的ProjectInstaller.Design ...
 - 【HDU 6031]】 Innumerable Ancestors
			
题意 有一棵有n个结点的树,这里有m个询问,每个询问给出两个非空的结点集合A和B,有些结点可能同时在这两个集合当中.你需要从A和B中分别选择一个节点x和y(可以是同一个结点)你的目标是使LCA(x,y ...
 - mfs实际操作教程
			
9. 实际操作案例 9.1 默认的垃圾回收时间是86400,存在一种可能性是垃圾还没回收完,你的存储容量就暴掉了.(案例提供者shinelian) 方案1:设置垃圾回收时间,积极监控存储容量. ...
 - VBox 安装 Ubuntu Server 的那些坑,键盘乱码、网卡互连、共享目录等
			
1.更新,相信大家都是有强迫症的 sudo apt-get update sudo apt-get upgrade 出现错误:Could not open lock file /var/lib/dpk ...
 - 2-配置Andriod环境时的错误。。。Theme.AppCompat.Light
			
编译或运行时可能会出现错误: Error:Error retrieving parent for item: No resource found that matches the given name ...
 - fopencookie函数详解
			
今天看DPDK时,看到了fopencookie函数,以前基本没有用过该函数,乘此机会好好看看如何使用. 1. 函数头文件与函数原型 函数头文件: #include <stdio.h> 函数 ...
 - Win10 DHCP和Static IP 切换
			
创建两个.bat文件,分别命名为static.bat和dhcp.bat static.bat文件写入 netsh interface ip set address "Wi-Fi" ...
 - [原创]MongoDB C++ 驱动部分问题解决方案(MongoDB C++ Driver)
			
本文为我长时间开发以及修改MongoDB C++ Driver时的一些问题和解决方案.目前本文所介绍的相关引擎也已经发布闭源版本,请自行下载 库版本以及相关位置:http://code.google. ...