整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

python通过findAll('h

python通过findAll('h4')获取jin10网站的消息

ython通过findAll('h4')获取jin10网站的消息,jin10是一个财经资讯类网站

注意事项:本电脑环境是python 3.7

网页爬取数据的步骤:

1、导入相应的模块,例如request,BeautifulSoup等。
2、对网站进行请求
3、对网站HTML源代码进行解析
4、尝试打印所获取的数据

代码如下:

import requests
from bs4 import BeautifulSoup
import pandas as pd
#1、网页请求
url="https://www.jin10.com/" #设置请求网址为jin10网站
response=requests.get(url) #对金十财经网站进行get请求并将请求结果赋值给response
response.encoding='utf-8' #设置网页的编码为'utf-8'
html=response.text #获取网页的html源代码并赋值给html
#2、解析网站
#经查实发现所有的消息类信息都在h4标签里,故去获取h4标签数据
soup=BeautifulSoup(html,'lxml') #解析html网页的lxml代码,并赋值给soup
content=soup.findAll('h4') #查找网页的h4标签
#3、遍历p标签数据
for msg in content: #遍历h4标签的内容
 print(msg.text) #打印h4标签的内容,用text获取数据

代码运行结果如下图所示:

<html>
	<head> 
		标题 ---此处放置标题、导航、登录等内容
		<!此处放置标题、导航、登录等内容--->
	</head>
	<body> 
		<!此处放置页面主要内容--->
		<! :空格
		<: 小于号
		>: 大于号
		": 引号--->
		<p>第一段 世界大势,合久必分,分久必合。</p>
		<hr/> <!表示单行横线显示--->
		<br/> <!表示换行--->
		<h1> hello world, html is easy</h1>
		<h2> hello world, html is easy</h2>
		<h3> hello world, html is easy</h3>
		<h4> hello world, html is easy</h4>
		<h5> hello world, html is easy</h5>
		<h6> hello world, html is easy</h6>
		<p>普通字体</p>
		<b>粗体</b> <i>斜体</i> <del>本文字已被删除,请忽略</del>
		
		<p> hello     world</p>  <!段落标记--->
		<a href="http://www.baidu.com" target="_self"> 点击进入百度</a>
		<br/>
		<img src="http://mysite.com/mypic.png" alt="网站作者照片">
		<h3> 普通无边框表格:</h3>
		<table>
		<tr>
			<td>row 1 cell 1</td> <td>row 1 cell 2</td> <td>row 1 cell 3</td>
		</tr>
		<tr>
			<td>row 2 cell 1</td> <td>row 2 cell 2</td> <td>row 2 cell 3</td>
		</tr>
		</table>
		
		<h3>带表头,有边框,有跨列单元:</h3>
		<table border="1">
		<tr>
			<th>head1</th> <th>head2</th> <th>head3</th>
		</tr>
		<tr>
			<td>row 1 cell 1</td> <td>row 1 cell 2</td> <td>row 1 cell 3</td>
		</tr>
		<tr>
			<td>row 2 cell 1</td> <td>row 2 cell 2</td> <td>row 2 cell 3</td>
		</tr>
		</table>
		
		<h3>三种列表的表达方式:</h3>
		<table cellpadding="2" cellspacing="2">
		<tr>
			<td>
				<ul><li>python</li> <li>c++</li> <li>java</li> <li>golang</li></ul>
			</td>
			<td>
				<ol><li>python</li> <li>c++</li> <li>java</li> <li>golang</li></ol>
			</td>
		</tr>
		</table>
		<dl>
			<dt>CPU</dt><dd>处理器</dd>
			<dt>MEM</dt><dd>内存</dd>
		</dl>
		
		<body bgcolor="#FF0000">
		<body bgcolor="RGB(255,0,0)">
		<body bgcolor="RED">
		
		<p>视频</p>
		<object
			classid="clsid:d27sfsfstqwetsasasdfsdfs"
			codebase="http://fpdownload.macromedia.com/pub/shckwave/cabs/flash/swflash.cab">
			<embed src="flashfile.swf" width="300" height="200"></embed>
		</object>
		<br/>
		
		<p>音频</p>
		<audio controls="crontrols">
			<source src="sample_song.mp3" type="audio/mp3" />
		</audio>
		
		<br/>
		<p>视频</p>
		<video controls="controls"/>
			<source src="sample_video.mp4" type="video/mp4">
		</video>
		
	    <p>html表单---文本输入</p>
		<table>
			<tr>
				<td>用户名:</td>
				<td><input type="text" name="name"></td>
				<td>密码:</td>
				<td><input type="password" name="pass"></td>
			</tr>
			<tr>
			<tdcolspan="4"> <textarea name="comment" rows="5" cols="60"> </textarea></td>
			</tr>
		</table>
		
		<table>
			<tr>
				<td>性别:</td>
				<td>用户名:</td>
				<td>男性<input type="radio" checked='checked' name="sex" value="male" /></td>
				<td>女性<input type="radio" checked='checked' value="female" /></td>
			</tr>
			<tr>
			<tdcolspan="4"> <textarea name="comment" rows="5" cols="60"> </textarea></td>
			</tr>
		</table>
		
	</body>

</html>

篇介绍了html 中文本格式及段落等标签,今天说下列表,什么是列表?它就是一种数据排列方式,以条列式的方式显示文本,使读者一目了然。列表主要有以下三种:

  1. 无序列表
  2. 有序列表
  3. 定义列表

无序列表 —— ul

无序列表在每行开始位置显示一个符号,语法如下:

<html>
<body>
<h4>一个无序列表:</h4>
<ul>
  <li>咖啡</li>
  <li>茶</li>
  <li>牛奶</li>
</ul>
</body>
</html>

显示效果:


无序列表的符号可以通过在ul 标签上设置 type 属性显示不同的符号,比如:

1、disc —— 实心圆点 (默认类型)
2、circle —— 空心圆圈
3、square —— 实心方块

实例代码:

<html>
<body>
<h4>一个无序列表:</h4>
<ul type="disc">
  <li>咖啡</li>
  <li>茶</li>
  <li>牛奶</li>
</ul>
<h4>一个无序列表:</h4>
<ul type="circle">
  <li>咖啡</li>
  <li>茶</li>
  <li>牛奶</li>
</ul>
<h4>一个无序列表:</h4>
<ul type="square">
  <li>咖啡</li>
  <li>茶</li>
  <li>牛奶</li>
</ul>
</body>

显示效果:


有序列表 —— ol

有序列表使用数字或字母符号排列,表示文本按一定顺序显示,语法如下:

<!DOCTYPE html>
<html>
<body>
<ol>
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
</body>
</html>

效果如下:

同无序列表一样,在ol上通过type 属性设置使用那种符号表示顺序,有以下几种:

1、1,表示数字 1、2、3..... (默认数字)
2、a,表示小写字母 a、b、c....
3、A,表示大写字母 A、B、C ....
4、i,表示小写罗马字母 i、ii、iii、iv....
5、I,表示大写罗马字母 I、II、III、IV....

显示效果如下:

html代码:

<!DOCTYPE html>
<html>
<body>
数字
<ol type="1">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
小写字母
<ol type="a">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
大写字母
<ol type="A">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
小写罗马字母
<ol type="i">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
大写罗马字母
<ol type="I">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>
</body>
</html>

有序列表还可以通过start 属性设置起始数组,如下:

<ol  start="3">
  <li>咖啡</li>
  <li>牛奶</li>
  <li>茶</li>
</ol>

显示效果:

定义列表——dl

不同以上2种列表,定义列表主要用来解释名词,由2种层次列表显示,第一层是被解释的名词,第二层是详细地解释文字,语法如下:

<html>
<body>
<h2>一个定义列表:</h2>
<dl>
   <dt>计算机</dt>
   <dd>用来计算的仪器 ... ...</dd>
   <dt>显示器</dt>
   <dd>以视觉方式显示信息的装置 ... ...</dd>
</dl>
</body>
</html>

显示效果:

第一行<dt>是要解释的名词,第二行标签<dd>是解释文本,会自动缩进。

列表的嵌套

以上三种列表是可以嵌套使用的,看如下示例:

<html>
<body>
<h4>一个嵌套列表:</h4>
<ul>
  <li>咖啡</li>
  <li>茶
    <ul>
    <li>红茶</li>
    <li>绿茶</li>
    </ul>
  </li>
  <li>牛奶</li>
</ul>
</body>
</html>

效果:

每嵌套一层,它的符号是不一样的,你可以试试再嵌套一层看看效果。

当然,不同列表类型也可互相嵌套,根据显示效果可以自由使用,一般建议不要这样使用,不同类型列表显示在一块不是很美观。如下面无序列表中嵌套有序列表:

<html>
<body>
<h4>一个嵌套列表:</h4>
<ul>
  <li>咖啡</li>
  <li>茶
    <ul>
    <li>红茶</li>
    <li>绿茶
      <ol>
      <li>中国茶</li>
      <li>非洲茶</li>
      </ol>
    </li>
    </ul>
  </li>
  <li>牛奶</li>
</ul>
</body>
</html>

效果如下:

总结

列表是网页制作中经常会使用的标签,比如在制作网页导航栏菜单时会经常用到ul列表,以后会讲如何通过ul标签制作一个下拉菜单,感谢您阅读及关注,祝你学习愉快。

上篇:前端入门——html 文字格式、标题与段落

下篇:前端入门——html 超链接