1. 简单说明爬虫原理

什么是爬虫

爬虫:请求网站并提取数据的自动化程序

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

2. 理解爬虫开发过程

1).简要说明浏览器工作原理;

基本流程:

发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。

获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。

解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。

保存数据:保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件

2).使用 requests 库抓取网站数据;

requests.get(url) 获取校园新闻首页html代码

import requests

from bs4 import BeautifulSoup

url='http://news.gzcc.cn/html/2019/tongzhigonggao_0321/11036.html'

response=requests.get(url) #获取网页html

response.encoding='utf-8'

print(response.text)

3).了解网页

写一个简单的html文件,包含多个标签,类,id

4).使用 Beautiful Soup 解析网页;

通过BeautifulSoup(html_sample,'html.parser')把上述html文件解析成DOM Tree

select(选择器)定位数据

找出含有特定标签的html元素

找出含有特定类名的html元素

找出含有特定id名的html元素

3.提取一篇校园新闻的标题、发布时间、发布单位

import requests

from bs4 import BeautifulSoup

url='http://news.gzcc.cn/html/2019/tongzhigonggao_0321/11036.html'

response=requests.get(url) #获取网页html

response.encoding='utf-8'

print(response.text)

soup=BeautifulSoup(response.text,"lxml") #用BS4构建标签对象,用lxml解析器解析获取内容

print(soup.select('.show-title'))#输出新闻标题

print(soup.select('.show-info'))#输出新闻发布时间作者单位

标签:网页,url,html,爬虫,理解,原理,requests,response

来源: https://www.cnblogs.com/WYuHan/p/10599137.html

(1) 简要说明 html 的基本工作原理.,理解爬虫原理相关推荐

  1. C++实现爬虫,深入理解爬虫原理(最详细,最简单的教程)

    前言: 我目前主要学习方向是c++,看到网上基本上都是用python写的爬虫,我也试过,确实非常方便,几行代码就能解决,但却就是因为python封装的太好,过于简单,使得很多人包括我最开始的时候,都很 ...

  2. python爬虫原理-python爬虫原理详细讲解

    原标题:python爬虫原理详细讲解 一 .爬虫是什么 1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. 2.互联网建立的目的?互联网的 ...

  3. python爬虫原理-Python爬虫原理

    前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...

  4. python解析原理_python爬虫原理

    简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什么? ...

  5. 简述python爬虫原理_爬虫原理介绍

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 一.爬虫是什么? 如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网 ...

  6. python爬取数据的原理_Python爬虫原理

    前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...

  7. 简述python爬虫原理_python 爬虫原理

    简单来说互联网是由一个个站点和网络组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什么? 如果 ...

  8. 理解工作本质、提高工作效率---《科学管理原理》读后感

    1911年,弗雷德里克.泰勒的<科学管理原理>.这本书主要内容是, 通过描述"日常专业任务"的改进,为我们提供了一种思维视角和方法,去分析日常工作的本质,去形成长期有效 ...

  9. java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍

    本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...

最新文章

  1. 进入it圈10多年了,我不是最优秀的,确是用心的
  2. 通过Idea创建spring项目,没有spring Initializr选项的解决方法
  3. gnutls_handshake() failed: Illegal parameter
  4. 滴滴人脸识别申诉照片怎么拍_涅槃乐队Nevermind封面照片是怎么拍出来的?
  5. 计算机毕业设计中用Java编写泛型与集合框架
  6. 前端入门14-JavaScript进阶之继承
  7. 玉龙雪山还会存在多久
  8. Python模块化编程
  9. CSS属性之线性渐变实现透明度渐变和重复渐变效果
  10. Android学习日记(yzy):opengl 绘制2d图形 基本框架
  11. java 相关学习笔记
  12. 惊!西游记内幕竟是这样的。
  13. 什么是大小端?如何测试某台机器是大端还是小端。
  14. html地图多点标记,高德地图多点标记自定义地图
  15. 前端:简述表单提交前如何进行数据验证
  16. 表面粗糙度等级对照表
  17. 如何使用origin求图线交点坐标
  18. TCL电子(1070.HK)获纳入恒生港股通指数
  19. raise BrowserError pyppeteer.errors.BrowserError: Browser closed unexpectedly(服务器是fedora)
  20. 【有利可图网】PS设计杂谈:保持格调!版式网格表现技法

热门文章

  1. 永磁同步电机矢量控制(二)——数学模型及其控制原理
  2. wps 调整文字间距
  3. 基于LaTeX-OCR公式转换工具的安装与使用
  4. Android 流星效果的实现
  5. c语言 扑克 编程,算了算学了有一个月c语言了,写了个扑克牌程序
  6. C# null与nullable类型
  7. 运营经验之混乱猴子军团chaos monkey
  8. #读书#黑白之间——中国历史文化中的任侠者
  9. matlab某奶制品加工厂,奶制品加工问题-数学建模
  10. 一键复制 — vue