Python爬虫+认识html网页文本文件,使用beautifulSoup获取信息
认识HTML
HTML参考手册:
https://www.w3cschool.cn/htmltags/tag-p.html
HTML线上教程:
https://www.runoob.com/html/html-examples.html
菜鸟教程html在线编程器:
https://www.runoob.com/try/try.php?filename=tryhtml_comment
提示:将下面代码复制到 菜鸟教程html在线编程器 运行。 对照页面显示效果分析HTML的标签使用,学习html的页面编程设计。参考HTML线上教程和HTML参考手册,学习更多的html。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body bgcolor="lightgreen">
<h1 align="center">我的第一个标题</h1>
<h2 align="left">我的第一个标题</h2>
<h3 align="right">我的第一个标题</h3>
<!-- 这是一个注释,可以在这里写入你的注释内容 -->
<!-- hr 标签定义水平线 horizon -->
<hr />
<p>我的第一个段落。</p>
<hr />
<p>
每个表格从一个 table 标签开始。
每个表格行从 tr 标签开始。
每个表格的数据从 td 标签开始
</p>
<h4>表格 两行三列:</h4>
<table border="1" width="100%" align ="center">
<tr height ="30px" bgcolor="#FFEBCD" align ="center">
<td>100</td>
<td>200</td>
<td>300</td>
</tr>
<tr height ="30px" bgcolor="blue">
<td>400</td>
<td>500</td>
<td>600</td>
</tr>
</table>
<hr/>
<h4>超级链接:</h4>
<p><a href="/index.html">本文本</a> 是一个指向本网站中的一个页面的链接。</p>
<p>
<a href="http://www.microsoft.com/">本文本</a>
是一个指向万维网上的页面的链接。
</p>
<hr/>
<h4>无序列表:</h4>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<h4>无序列表:</h4>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
<h4>有序列表:</h4>
<ol>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
<ol start="50">
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ol>
</body>
</html>
BeautifulSoup库简单使用 代码
Beautiful Soup 4.4.0 文档
https://beautifulsoup.readthedocs.io/zh-cn/latest/
import bs4 txt_html =""" <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(runoob.com)</title> </head> <body bgcolor="lightgreen"> <h1 align="center">我的第一个标题</h1> <h2 align="left">我的第一个标题</h2> <h3 align="right">我的第一个标题</h3> <!-- 这是一个注释,可以在这里写入你的注释内容 --> <!-- hr 标签定义水平线 horizon --> <hr /> <p>我的第一个段落。</p> <hr /> <p> 每个表格从一个 table 标签开始。 每个表格行从 tr 标签开始。 每个表格的数据从 td 标签开始 </p> <h4>表格 两行三列:</h4> <table border="1" width="100%" align ="center"> <tr height ="30px" bgcolor="#FFEBCD" align ="center"> <td>100</td> <td>200</td> <td>300</td> </tr> <tr height ="30px" bgcolor="blue"> <td>400</td> <td>500</td> <td>600</td> </tr> </table> <hr/> <h4>超级链接:</h4> <p><a href="/index.html">本文本</a> 是一个指向本网站中的一个页面的链接。</p> <p> <a href="http://www.microsoft.com/">本文本</a> 是一个指向万维网上的页面的链接。 </p> <hr/> <h4>无序列表:</h4> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> <h4>无序列表:</h4> <ul> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ul> <h4>有序列表:</h4> <ol> <li>Coffee</li> <li>Tea</li> <li>Milk</li> </ol> <ol start="50"> <li>Coffee 50</li> <li>Tea 50</li> <li>Milk 50</li> </ol> </body> </html> """ #定义BeautifulSoup对象 txt_soup = bs4.BeautifulSoup(txt_html,"html.parser") print(type(txt_soup)) # #从table标签中提取信息 # print("从table标签中提取信息:") table_soup = txt_soup.find_all(name ="table") print(type(table_soup)) #print(table_soup) #调试 for table_each in table_soup: for tr_each in table_each.find_all('tr'): for td_each in tr_each: print(td_each.string, end='') #print(" {}".format(td_each.string.strip("\n")), end='') print() # #从ol标签中提取信息 # print("从ol标签中提取信息:") ol_soup = txt_soup.find_all(name ="ol") print(type(ol_soup)) #ol_soup = txt_soup.find_all(name ="ol",start="50" ) # for ol_each in ol_soup: for li_each in ol_each.find_all('li'): print(li_each.string) # #从a标签中提取地址 # print("从a标签中提取地址:") a_soup = txt_soup.find_all(name ="a") # 网址在标签<a>内 for a_each in a_soup: print(a_each["href"])