(1) 简要说明 html 的基本工作原理.,理解爬虫原理
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 的基本工作原理.,理解爬虫原理相关推荐
- C++实现爬虫,深入理解爬虫原理(最详细,最简单的教程)
前言: 我目前主要学习方向是c++,看到网上基本上都是用python写的爬虫,我也试过,确实非常方便,几行代码就能解决,但却就是因为python封装的太好,过于简单,使得很多人包括我最开始的时候,都很 ...
- python爬虫原理-python爬虫原理详细讲解
原标题:python爬虫原理详细讲解 一 .爬虫是什么 1.什么是互联网? 互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样. 2.互联网建立的目的?互联网的 ...
- python爬虫原理-Python爬虫原理
前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...
- python解析原理_python爬虫原理
简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什么? ...
- 简述python爬虫原理_爬虫原理介绍
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 一.爬虫是什么? 如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网 ...
- python爬取数据的原理_Python爬虫原理
前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...
- 简述python爬虫原理_python 爬虫原理
简单来说互联网是由一个个站点和网络组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什么? 如果 ...
- 理解工作本质、提高工作效率---《科学管理原理》读后感
1911年,弗雷德里克.泰勒的<科学管理原理>.这本书主要内容是, 通过描述"日常专业任务"的改进,为我们提供了一种思维视角和方法,去分析日常工作的本质,去形成长期有效 ...
- java语言的实现机制_JAVA语言之Java NIO的工作机制和实现原理介绍
本文主要向大家介绍了JAVA语言之Java NIO的工作机制和实现原理介绍,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 前言 本文只简单介绍NIO的原理实现和基本工作流程 I/O和 ...
最新文章
- 进入it圈10多年了,我不是最优秀的,确是用心的
- 通过Idea创建spring项目,没有spring Initializr选项的解决方法
- gnutls_handshake() failed: Illegal parameter
- 滴滴人脸识别申诉照片怎么拍_涅槃乐队Nevermind封面照片是怎么拍出来的?
- 计算机毕业设计中用Java编写泛型与集合框架
- 前端入门14-JavaScript进阶之继承
- 玉龙雪山还会存在多久
- Python模块化编程
- CSS属性之线性渐变实现透明度渐变和重复渐变效果
- Android学习日记(yzy):opengl 绘制2d图形 基本框架
- java 相关学习笔记
- 惊!西游记内幕竟是这样的。
- 什么是大小端?如何测试某台机器是大端还是小端。
- html地图多点标记,高德地图多点标记自定义地图
- 前端:简述表单提交前如何进行数据验证
- 表面粗糙度等级对照表
- 如何使用origin求图线交点坐标
- TCL电子(1070.HK)获纳入恒生港股通指数
- raise BrowserError pyppeteer.errors.BrowserError: Browser closed unexpectedly(服务器是fedora)
- 【有利可图网】PS设计杂谈:保持格调!版式网格表现技法