抓取网页新闻(网页写一个简单的文件文件解析(选择器)定位数据找出)
优采云 发布时间: 2022-04-04 01:13抓取网页新闻(网页写一个简单的文件文件解析(选择器)定位数据找出)
(1)连接:服务器通过ServerSocket类对象*敏*感*词*8000端口,*敏*感*词*后建立连接,打开socket虚拟文件。
(2)Request: 浏览器创建一个与建立socket连接相关的流对象后,获取请求,如果是GET请求,则从请求信息中获取访问的HTML文件名,发送向服务器请求。
(3)响应:服务收到请求后,查找相关目录文件,如果不存在,则返回错误信息;如果存在,则对html文件进行HTTP头处理然后响应浏览器解析html文件,如果还收录对图片、视频等的请求,则浏览器再次访问web服务器,异常获取图片、视频等,并组装显示。
2.使用requests库抓取网站数据:
代码如下:
1 import requests
2 url='http://www.chinaedu.edu.cn/'
3 #网络资源获取
4 res=requests.get(url)
5 res.encoding = 'utf-8'
6 print(res.text)
请求
运行截图:
3.了解网页
编写一个收录多个标签、类、ids的简单html文件
代码如下:
1
2
3
4
5
6 这是一个头部标签
7 然后是P标签里面有a标签,也就是点击以后会跳转到一个链接 跳转到新浪网 里面
8
9
10
11
12 第一
13 第二
14 第三
15 第四
16
17
18
19
20
html
运行截图:
4.用 Beautiful Soup 解析网页:
通过BeautifulSoup(html_sample,'html.parser')将上面的html文件解析成DOM Tree
选择(选择器)位置数据
查找带有特定标签的 html 元素
查找具有特定类名的 html 元素
查找具有特定 id 名称的 html 元素
代码如下:
1 from bs4 import BeautifulSoup
2 with open(r'test.html','r',encoding='utf-8') as f:
3 text=f.read()
4 soup=BeautifulSoup(text,'html.parser')
5 #特定标签的html元素
6 a=soup.select('li')[2].text
7 # 特定类名的html元素
8 b=soup.select('.inner')[0].text
9 # 特定id名的html元素
10 c=soup.select('#intro')[0].text
11 print(a,b,c)
美丽的汤
运行截图:
三、提取校园新闻的标题、发布时间和发布单位