1.安装pip

我的个人桌面系统用的linuxmint,系统默认没有安装pip,考虑到后面安装requests模块使用pip,所以我这里第一步先安装pip。
$ sudo apt install python-pip
安装成功,查看PIP版本:
$ pip -V
2.安装requests模块
这里我是通过pip方式进行安装:
$ pip install requests
运行import requests,如果没提示错误,那说明已经安装成功了!
检验是否安装成功
3.安装beautifulsoup4
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找、修改文档的方式。Beautiful Soup会帮你节省数小时甚至数天的工作时间。
$ sudo apt-get install python3-bs4
注:这里我使用的是python3的安装方式,如果你用的是python2,可以使用下面命令安装。
$ sudo pip install beautifulsoup4
4.requests模块浅析
1)发送请求
首先当然是要导入 Requests 模块:
>>> import requests
然后,获取目标抓取网页。这里我以下为例:
>>> r = requests.get('https://www./article/124421.htm')
这里返回一个名为 r 的响应对象。我们可以从这个对象中获取所有我们想要的信息。这里的get是http的响应方法,所以举一反三你也可以将其替换为put、delete、post、head。
2)传递URL参数
有时我们想为 URL 的查询字符串传递某种数据。如果你是手工构建 URL,那么数据会以键/值对的形式置于 URL 中,跟在一个问号的后面。例如, cnblogs.com/get?key=val。 Requests 允许你使用 params 关键字参数,以一个字符串字典来提供这些参数。
举例来说,当我们google搜索“python爬虫”关键词时,newwindow(新窗口打开)、q及oq(搜索关键词)等参数可以手工组成URL ,那么你可以使用如下代码:
>>> payload = {'newwindow': '1', 'q': 'python爬虫', 'oq': 'python爬虫'}
>>> r = requests.get("https://www.google.com/search", params=payload)
3)响应内容
通过r.text或r.content来获取页面响应内容。
>>> import requests
>>> r = requests.get('https://github.com/timeline.json')
>>> r.text
Requests 会自动解码来自服务器的内容。大多数 unicode 字符集都能被无缝地解码。这里补充一点r.text和r.content二者的区别,简单说:
resp.text返回的是Unicode型的数据;
resp.content返回的是bytes型也就是二进制的数据;
所以如果你想取文本,可以通过r.text,如果想取图片,文件,则可以通过r.content。
4)获取网页编码
>>> r = requests.get('http://www.cnblogs.com/')
>>> r.encoding
'utf-8'
5)获取响应状态码
我们可以检测响应状态码:
>>> r = requests.get('http://www.cnblogs.com/')
>>> r.status_code
200
5.案例演示
最近公司刚引入了一款OA系统,这里我以其官方说明文档页面为例,并且只抓取页面中文章标题和内容等有用信息。
演示环境
操作系统:linuxmint
python版本:python 3.5.2
使用模块:requests、beautifulsoup4
代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
_author_ = 'GavinHsueh'
import requests
import bs4
#要抓取的目标页码地址
url = 'http://www.ranzhi.org/book/ranzhi/about-ranzhi-4.html'
#抓取页码内容,返回响应对象
response = requests.get(url)
#查看响应状态码
status_code = response.status_code
#使用BeautifulSoup解析代码,并锁定页码指定标签内容
content = bs4.BeautifulSoup(response.content.decode("utf-8"), "lxml")
element = content.find_all(id='book')
print(status_code)
print(element)
程序运行返回爬去结果:
抓取成功
关于爬去结果乱码问题
其实起初我是直接用的系统默认自带的python2操作的,但在抓取返回内容的编码乱码问题上折腾了老半天,google了多种解决方案都无效。在被python2“整疯“之后,只好老老实实用python3了。对于python2的爬取页面内容乱码问题,欢迎各位前辈们分享经验,以帮助我等后生少走弯路。
后记
python的爬虫相关模块有很多,除了requests模块,再如urllib和pycurl以及tornado等。相比而言,我个人觉得requests模块是相对简单易上手的了。通过文本,大家可以迅速学会使用python的requests模块爬取页码内容。本人能力有限,如果文章有任何错误欢迎不吝赐教,其次如果大家有任何关于python爬去页面内容的疑难杂问,也欢迎和大家一起交流讨论。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# python3
# requests模块爬取
# python爬取页面内容
# python
# requests爬取页面内容
# Python利用Scrapy框架爬取豆瓣电影示例
# Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
# Python实现的爬取豆瓣电影信息功能案例
# Python使用mongodb保存爬取豆瓣电影的数据过程解析
# Python爬虫——爬取豆瓣电影Top250代码实例
# 一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
# Python使用requests模块爬取百度翻译
# python使用requests模块实现爬取电影天堂最新电影信息
# Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块
# Python3实现爬虫爬取赶集网列表功能【基于request和BeautifulSoup模块】
# python使用re模块爬取豆瓣Top250电影
# 关键词
# 的是
# 我是
# 我们可以
# 爬去
# 为例
# 文档
# 是一个
# 有任何
# 你是
# 你可以
# 不吝赐教
# 有很多
# 都能
# 但在
# 帮你
# 举例来说
# 你想
# 将其
# 可以通过
相关文章:
如何访问已购建站主机并解决登录问题?
如何通过.red域名打造高辨识度品牌网站?
深圳网站制作培训,深圳哪些招聘网站比较好?
如何通过WDCP绑定主域名及创建子域名站点?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
建站主机与服务器功能差异如何区分?
视频网站制作教程,怎么样制作优酷网的小视频?
如何通过虚拟主机快速完成网站搭建?
网站app免费制作软件,能免费看各大网站视频的手机app?
黑客入侵网站服务器的常见手法有哪些?
建站之星客服服务时间及联系方式如何?
如何做网站制作流程,*游戏网站怎么搭建?
Java解压缩zip - 解压缩多个文件或文件夹实例
如何选择适配移动端的WAP自助建站平台?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
建站主机选虚拟主机还是云服务器更好?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
测试制作网站有哪些,测试性取向的权威测试或者网站?
制作农业网站的软件,比较好的农业网站推荐一下?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
临沂网站制作公司有哪些,临沂第四中学官网?
大同网页,大同瑞慈医院官网?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
简单实现Android验证码
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
*服务器网站为何频现安全漏洞?
建站之星如何修改网站生成路径?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何在阿里云域名上完成建站全流程?
建站之星后台管理如何实现高效配置?
如何选择服务器才能高效搭建专属网站?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
建站之星北京办公室:智能建站系统与小程序生成方案解析
linux top下的 minerd 木马清除方法
已有域名如何快速搭建专属网站?
广州营销型建站服务商推荐:技术优势与SEO优化解析
如何选择可靠的免备案建站服务器?
实例解析angularjs的filter过滤器
如何在香港免费服务器上快速搭建网站?
如何破解联通资金短缺导致的基站建设难题?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】
文字头像制作网站推荐软件,醒图能自动配文字吗?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
*请认真填写需求信息,我们会在24小时内与您取得联系。