本文主要内容:

1.爬虫的相关概念。

2.Requsets库安装。

3.Requests库介绍。

4.爬取网页的通用代码框架。

1.爬虫相关概念。

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

网络爬虫就是从网页中按照规则爬取数据,然后对数据进行处理,得到我们需要的有价值的数据的过程。

从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

2.Requests库安装。

要使用Requests库需要先进行安装,我的Python环境是3.6。安装过程很简单,只须在cmd控制台上用pip命令就行可以了。

打开cmd控制台,输入pip install requests.

3.Requests库介绍:

以下列出方法名及用途,具体使用大家可以自行百度或者参考文章最后的链接文件,里面有详细的Request库介绍。

我们通过调用Request库中的方法,得到返回的对象。其中包括两个对象,request对象和response对象。

request对象就是我们要请求的url,response对象是返回的内容,如图:

response对象比Request对象更复杂,response对象包括以下属性:

接下来我们测试response对象属性:

假设我们访问的是百度的首页,打开IDLE输入以下代码:

import requests

r=requests.get("http://baidu.com")

print(r.status_code)

print(r.encoding)

print(r.apparent_encoding)

print(r.text[:100])

得到的结果如下:

4.爬取网页的通用代码框架。

前面已经大致了解了Request库以及爬虫的工作原理,下面介绍的是爬取网页的通用代码框架,这在我们的对话机器人中也将用到,因为爬取网页具有不确定性(网页不响应,url错误等),在代码中增加try,except语句检测错误。

import requests

def getHTMLText(url):

try:

r = requests.get(url, timeout=30) #获得url链接对应的response对象

r.raise_for_status() #检查状态码,如果状态码不是200则抛出异常。

r.encoding = r.apparent_encoding #用分析内容的编码作为整我对象的编码,视情况使用。

return r.text

except:

print("faile")

return ""

这个框架是今后都会用到的,需要理解和掌握。

在我们的实例中我们用到这个框架爬取段子,网址是我随便百度到的一个段子网,具体代码如下:

import requests

def getHTMLText(url):

try:

r = requests.get(url, timeout=30)

r.raise_for_status()

#r.encoding = r.apparent_encoding

return r.text

except:

print("faile")

return ""

def main():

url = 'http://duanziwang.com/category/%E4%B8%80%E5%8F%A5%E8%AF%9D%E6%AE%B5%E5%AD%90/1/'

html = getHTMLText(url)

print(html)

main()

运行截图如下:

这是我们得到的返回内容,在后面的文章中我们将从庞大的HTML文本中使用beautifulsoup库提取具体的我们想要的东西,即提取出段子(标红内容)。

更详细的介绍请参考文档:

链接:https://pan.baidu.com/s/1ciCFifH_MzGMdAvDZVX3-A 密码:2ovp

pythonrequests爬虫外文文献_Python爬虫(一):爬虫介绍、Requests库介绍及实例-Go语言中文社区...相关推荐

  1. go语言爬虫解析html,Python爬虫【如何爬取内容(html)和解析内容】-Go语言中文社区...

    1 基础 HTML解析:定位基础是xpath,了解下面的链接的基本知识. 在python中使用HTML解析等操作时,需要安装lxml包,在pycharm的terminal下:pip install l ...

  2. python爬取腾讯视频弹幕_网络爬虫实战(四):爬取腾讯视频电视剧弹幕-Go语言中文社区...

    文章目录 实战背景 说到被翻拍最多的大概就是金庸先生的剧了,有华人的地方就会有金庸剧.而在他的多部小说中,翻拍次数最多的无疑就是<倚天屠龙记>了,而且次数已经高达十四次.最早的是1963香 ...

  3. 简笔彩色圣诞树的python代码_Python绘图,圣诞树,花,爱心 | Turtle篇-Go语言中文社区...

    1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle() circle. ...

  4. python怎么输出所有奇数_python输出100以内奇数的几种输出方式-Go语言中文社区

    自从看了一些Python的一些基础语言之后,发现Python这门语言还是蛮有趣啊,很多计算用Python效率还是蛮高啊,几行就搞定了.比方说输出100以内的奇数,用其他语言,可能都是先for循环遍历1 ...

  5. python中的除法、取整和求模_python中的除法,取整和求模-Go语言中文社区

    首先注明:如果没有特别说明,以下内容都是基于python 3.4的. 先说核心要点: 1. /是精确除法,//是向下取整除法,%是求模 2. %求模是基于向下取整除法规则的 3. 四舍五入取整roun ...

  6. python怎么表白源码_Python浪漫表白源码(附带详细教程)-Go语言中文社区

    要知道我们程序猿也是需要浪漫的,小博我之前在网上搜寻了很多代码,确发现好多都不是最新的,所以自己就整理了一下代码,现在与广大博友们分享下 我们需要用到的包 使用pip install +(包名) tu ...

  7. 用python画一个简单卡通人物_Python绘制可爱的卡通人物 | 【turtle使用】-Go语言中文社区...

    微信公众号:AI算法与图像处理如果你觉得对你有帮助,欢迎关注.转发以及点赞哦-( ̄▽ ̄-)~ Turtle库 简介 什么是Turtle 首先,turtle库是一个点线面的简单图像库,能够完成一些比较简 ...

  8. 一起学爬虫——通过爬取豆瓣电影top250学习requests库的使用

    一起学爬虫--通过爬取豆瓣电影top250学习requests库的使用 学习一门技术最快的方式是做项目,在做项目的过程中对相关的技术查漏补缺. 本文通过爬取豆瓣top250电影学习python req ...

  9. python爬虫文本去重_Python微型异步爬虫框架

    Amipy Python微型异步爬虫框架(A micro asynchronous Python website crawler framework) 基于Python 3.5 + 的异步async- ...

最新文章

  1. my Note debug - select one Opportunity from dialog list
  2. 用例设计工具PICT — 输入组合覆盖
  3. Wordpress表结构详细说明
  4. [Tarjan] 洛谷 P1726 上白泽慧音
  5. Python中的break和continue的使用方法
  6. batch批处理(转载)
  7. 对所谓原生软件的偏执
  8. 6.4 随机森林实战
  9. 南山驿站机器人_fc机器人大战钢铁之魂攻略
  10. 为什么要努力读书学习,一位清华妈妈总结了7条,太到位了
  11. 集束搜索(Beam Search Algorithm )
  12. OSI七层网络模型介绍
  13. vue实现 导出为word模板
  14. 有些人认识了,就是一辈子的福份
  15. 树与图在索引上的区别
  16. 项目管理的十大知识领域
  17. 【供应链架构day6】百世零售供应链架构之道:全渠道的落地与挑战
  18. 逻辑电路分析的方法介绍与表决器举例
  19. 正规:中国电信的黑莓手机官方ROM下载地址开放了
  20. 一名校招求职者的自我修养(文字版汇总)

热门文章

  1. 基于系统模拟的机场出租车决策与安排模型
  2. consul下载安装
  3. 人体骨骼检测相关综述及总结
  4. 【机器学习】什么是代价函数?
  5. 添加Path有什么用?
  6. vue 雷达扫描_GitHub - suneildve/vueDataV: 基于Vue + Echarts 构建的数据可视化平台,酷炫大屏展示模板和组件库,持续更新各行各业实用模板和炫酷小组件。...
  7. 蜻蜓映射桌面客户端使用教程(windows端)
  8. 《离线和实时大数据开发实战》(二)大数据平台架构 技术概览
  9. 《薄冰实用英语语法详解》独家连载之十一:动名词
  10. 网站所有状态码的含义