python:BeautifulSoup解析爬取网页文章demo

文章目录


进阶请点击 Beautiful Soup 4.4.0 文档

代码

#  -*-coding:utf8 -*-
from bs4 import BeautifulSoup
import re
#这是示例
html_doc = """
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<ul class="menu">
	<li id="menu-item-614806" class="aaaaaa"><a href="tag">红</a></li>
	<li id="menu-item-614807" class="aaaaaa"><a href="tag">橙</a></li>
	<li id="menu-item-614808" class="aaaaaa"><a href="tag">黄</a></li>
	<li id="menu-item-623789" class="aaaaaa"><a href="tag">绿</a></li>
	<li id="menu-item-623982" class="aaaaaa"><a href="tag">蓝</a></li>
	<li id="menu-item-623740" class="aaaaaa"><a href="tag">靛</a></li>
	<li id="menu-item-624007" class="aaaaaa"><a href="tag">紫</a></li>
</ul>

<ul class="sub-menu">
	<li id="menu-item-2148061" class="bbbbbbbbbbb"><a href="tag">红_sub</a></li>
	<li id="menu-item-2148071" class="bbbbbbbbbbb"><a href="tag">橙_sub</a></li>
	<li id="menu-item-2148081" class="bbbbbbbbbbb"><a href="tag">黄_sub</a></li>
	<li id="menu-item-2237891" class="bbbbbbbbbbb"><a href="tag">绿_sub</a></li>
	<li id="menu-item-2239821" class="bbbbbbbbbbb"><a href="tag">蓝_sub</a></li>
	<li id="menu-item-2237401" class="bbbbbbbbbbb"><a href="tag">靛_sub</a></li>
	<li id="menu-item-2240071" class="bbbbbbbbbbb"><a href="tag">紫_sub</a></li>
</ul>

<h2><a href="httpsssv">春江潮水连海平,海上明月共潮生。</a></h2>    
<h2><a href="httpsssv">滟滟随波千万里,何处春江无月明!</a></h2>
<h2><a href="httpsssv">江流宛转绕芳甸,月照花林皆似霰。</a></h2>
<h2><a href="httpsssv">空里流霜不觉飞,汀上白沙看不见。</a></h2>
<h2><a href="httpsssv">江天一色无纤尘,皎皎空中孤月轮。</a></h2>
<h2><a href="httpsssv">江畔何人初见月?江月何年初照人?</a></h2>
<h2><a href="httpsssv">人生代代无穷已,江月年年望相似。</a></h2>
<h2><a href="httpsssv">不知江月待何人,但见长江送流水。</a></h2>
<h2><a href="httpsssv">白云一片去悠悠,青枫浦上不胜愁。</a></h2>
<h2><a href="httpsssv">谁家今夜扁舟子?何处相思明月楼?</a></h2>
<h2><a href="httpsssv">可怜楼上月徘徊,应照离人妆镜台。</a></h2>
<h2><a href="httpsssv">玉户帘中卷不去,捣衣砧上拂还来。</a></h2>
<h2><a href="httpsssv">此时相望不相闻,愿逐月华流照君。</a></h2>
<h2><a href="httpsssv">鸿雁长飞光不度,鱼龙潜跃水成文。</a></h2>
<h2><a href="httpsssv">昨夜闲潭梦落花,可怜春半不还家。</a></h2>
<h2><a href="httpsssv">江水流春去欲尽,江潭落月复西斜。</a></h2>
<h2><a href="httpsssv">斜月沉沉藏海雾,碣石潇湘无限路。</a></h2>
<h2><a href="httpsssv">不知乘月几人归,落月摇情满江树。</a></h2>
</body>
</html>
"""

 
#初始化,实例化一个BeautifulSoup对象,参数可以是一个字符串,也可以是一个打开的文件比如open('mydoc.html')

soup = BeautifulSoup(html_doc, 'html.parser')

#按照标准的缩进格式的结构输出:
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print(soup.prettify())
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")

#正则表达式 代码找出所有名字中包含”t”的标签:
for tag in soup.find_all(re.compile("t")):
    print(tag.name)

print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
#True 可以匹配任何值,下面代码查找到所有的tag,但是不会返回字符串节点,limit=2 只筛选前2个tag
for tag in soup.find_all(True, limit=2):
    print(tag.name)

print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print(soup.findAll('li', class_="bbbbbbbbbbb"))
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print(soup.findAll('li',{"class":"bbbbbbbbbbb"}))
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print(soup.find_all('li', class_="bbbbbbbbbbb"))
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")
print(soup.find_all('li',{"class":"bbbbbbbbbbb"}))
print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<")

#从文档中获取所有文字内容和标签属性,将内容写入文件title.txt:  
f=open("C:/hjma/title.txt","w")
tags = soup.find_all('h2')
for tag in tags:
    print(tag.a) #<a href="httpsssv">斜月沉沉藏海雾,碣石潇湘无限路。</a>
    print(tag.a.name)#a
    print(tag.a.attrs)#{'href': 'httpsssv'}
    print(tag.a.get("href"))#httpsssv
    print(tag.a["href"])#httpsssv
    print(tag.a.getText())#斜月沉沉藏海雾,碣石潇湘无限路。
    f.write(tag.a.getText()+"\n") 

打印

C:\Users\admin>py wenzhang.py
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="IE=edge" http-equiv="X-UA-Compatible"/>
  <ul class="menu">
   <li class="aaaaaa" id="menu-item-614806">
    <a href="tag"></a>
   </li>
   <li class="aaaaaa" id="menu-item-614807">
    <a href="tag"></a>
   </li>
   <li class="aaaaaa" id="menu-item-614808">
    <a href="tag"></a>
   </li>
   <li class="aaaaaa" id="menu-item-623789">
    <a href="tag">
     绿
    </a>
   </li>
   <li class="aaaaaa" id="menu-item-623982">
    <a href="tag"></a>
   </li>
   <li class="aaaaaa" id="menu-item-623740">
    <a href="tag"></a>
   </li>
   <li class="aaaaaa" id="menu-item-624007">
    <a href="tag"></a>
   </li>
  </ul>
  <ul class="sub-menu">
   <li class="bbbbbbbbbbb" id="menu-item-2148061">
    <a href="tag">
     红_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2148071">
    <a href="tag">
     橙_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2148081">
    <a href="tag">
     黄_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2237891">
    <a href="tag">
     绿_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2239821">
    <a href="tag">
     蓝_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2237401">
    <a href="tag">
     靛_sub
    </a>
   </li>
   <li class="bbbbbbbbbbb" id="menu-item-2240071">
    <a href="tag">
     紫_sub
    </a>
   </li>
  </ul>
  <h2>
   <a href="httpsssv">
    春江潮水连海平,海上明月共潮生。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    滟滟随波千万里,何处春江无月明!
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    江流宛转绕芳甸,月照花林皆似霰。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    空里流霜不觉飞,汀上白沙看不见。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    江天一色无纤尘,皎皎空中孤月轮。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    江畔何人初见月?江月何年初照人?
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    人生代代无穷已,江月年年望相似。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    不知江月待何人,但见长江送流水。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    白云一片去悠悠,青枫浦上不胜愁。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    谁家今夜扁舟子?何处相思明月楼?
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    可怜楼上月徘徊,应照离人妆镜台。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    玉户帘中卷不去,捣衣砧上拂还来。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    此时相望不相闻,愿逐月华流照君。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    鸿雁长飞光不度,鱼龙潜跃水成文。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    昨夜闲潭梦落花,可怜春半不还家。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    江水流春去欲尽,江潭落月复西斜。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    斜月沉沉藏海雾,碣石潇湘无限路。
   </a>
  </h2>
  <h2>
   <a href="httpsssv">
    不知乘月几人归,落月摇情满江树。
   </a>
  </h2>
 </head>
</html>

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
html
meta
meta
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
html
head
[<li class="bbbbbbbbbbb" id="menu-item-2148061"><a href="tag">红_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148071"><a href="tag">橙_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148081"><a href="tag">黄_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237891"><a href="tag">绿_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2239821"><a href="tag">蓝_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237401"><a href="tag">靛_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2240071"><a href="tag">紫_sub</a></li>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<li class="bbbbbbbbbbb" id="menu-item-2148061"><a href="tag">红_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148071"><a href="tag">橙_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148081"><a href="tag">黄_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237891"><a href="tag">绿_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2239821"><a href="tag">蓝_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237401"><a href="tag">靛_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2240071"><a href="tag">紫_sub</a></li>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<li class="bbbbbbbbbbb" id="menu-item-2148061"><a href="tag">红_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148071"><a href="tag">橙_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148081"><a href="tag">黄_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237891"><a href="tag">绿_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2239821"><a href="tag">蓝_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237401"><a href="tag">靛_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2240071"><a href="tag">紫_sub</a></li>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
[<li class="bbbbbbbbbbb" id="menu-item-2148061"><a href="tag">红_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148071"><a href="tag">橙_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2148081"><a href="tag">黄_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237891"><a href="tag">绿_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2239821"><a href="tag">蓝_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2237401"><a href="tag">靛_sub</a></li>, <li class="bbbbbbbbbbb" id="menu-item-2240071"><a href="tag">紫_sub</a></li>]
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
<a href="httpsssv">春江潮水连海平,海上明月共潮生。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
春江潮水连海平,海上明月共潮生。
<a href="httpsssv">滟滟随波千万里,何处春江无月明!</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
滟滟随波千万里,何处春江无月明!
<a href="httpsssv">江流宛转绕芳甸,月照花林皆似霰。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
江流宛转绕芳甸,月照花林皆似霰。
<a href="httpsssv">空里流霜不觉飞,汀上白沙看不见。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
空里流霜不觉飞,汀上白沙看不见。
<a href="httpsssv">江天一色无纤尘,皎皎空中孤月轮。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
江天一色无纤尘,皎皎空中孤月轮。
<a href="httpsssv">江畔何人初见月?江月何年初照人?</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
江畔何人初见月?江月何年初照人?
<a href="httpsssv">人生代代无穷已,江月年年望相似。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
人生代代无穷已,江月年年望相似。
<a href="httpsssv">不知江月待何人,但见长江送流水。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
不知江月待何人,但见长江送流水。
<a href="httpsssv">白云一片去悠悠,青枫浦上不胜愁。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
白云一片去悠悠,青枫浦上不胜愁。
<a href="httpsssv">谁家今夜扁舟子?何处相思明月楼?</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
谁家今夜扁舟子?何处相思明月楼?
<a href="httpsssv">可怜楼上月徘徊,应照离人妆镜台。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
可怜楼上月徘徊,应照离人妆镜台。
<a href="httpsssv">玉户帘中卷不去,捣衣砧上拂还来。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
玉户帘中卷不去,捣衣砧上拂还来。
<a href="httpsssv">此时相望不相闻,愿逐月华流照君。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
此时相望不相闻,愿逐月华流照君。
<a href="httpsssv">鸿雁长飞光不度,鱼龙潜跃水成文。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
鸿雁长飞光不度,鱼龙潜跃水成文。
<a href="httpsssv">昨夜闲潭梦落花,可怜春半不还家。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
昨夜闲潭梦落花,可怜春半不还家。
<a href="httpsssv">江水流春去欲尽,江潭落月复西斜。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
江水流春去欲尽,江潭落月复西斜。
<a href="httpsssv">斜月沉沉藏海雾,碣石潇湘无限路。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
斜月沉沉藏海雾,碣石潇湘无限路。
<a href="httpsssv">不知乘月几人归,落月摇情满江树。</a>
a
{'href': 'httpsssv'}
httpsssv
httpsssv
不知乘月几人归,落月摇情满江树。

C:\Users\admin>

查看title.txt
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 首先你需要安装BeautifulSoup库,然后导入它。 ```python from bs4 import BeautifulSoup ``` 然后你需要使用`BeautifulSoup`解析HTML或XML文档,例如: ```python soup = BeautifulSoup(html_doc, 'html.parser') ``` 接下来,你可以使用`find`或`find_all`方法来查找文档中的`span`标签。例如,如果你想找到所有的`span`标签: ```python spans = soup.find_all('span') ``` 如果你想找到第一个`span`标签: ```python span = soup.find('span') ``` 你可以通过遍历`spans`列表来访问每个`span`标签,例如: ```python for span in spans: print(span) ``` 你也可以使用属性来查找具有特定属性的`span`标签,例如: ```python spans = soup.find_all('span', attrs={'class': 'foo'}) ``` 这将找到所有具有`class`属性值为`foo`的`span`标签。 你也可以使用CSS选择器来查找元素,例如: ```python spans = soup.select('span.foo') ``` 这将找到所有具有`class`属性值为`foo`的`span`标签。 希望这对你有帮助! ### 回答2: 要使用PythonBeautifulSoup库爬取<span>标签,可以按照以下步骤进行操作: 首先,需要安装BeautifulSoup库。可以通过在终端中运行以下命令进行安装: ``` pip install beautifulsoup4 ``` 在Python脚本中,需要导入BeautifulSoup库和请求库(如requests): ```python from bs4 import BeautifulSoup import requests ``` 接下来,发送一个请求并获取网页的内容。可以使用requests库的get()方法发送对网页的请求: ```python url = 'https://example.com' # 替换成你要爬取的网页链接 response = requests.get(url) content = response.content ``` 然后,创建一个BeautifulSoup对象来解析网页内容。将获取到的content作为参数传递给BeautifulSoup的构造函数: ```python soup = BeautifulSoup(content, 'html.parser') ``` 现在,你可以使用BeautifulSoup对象的find_all()方法找到所有的<span>标签: ```python span_tags = soup.find_all('span') ``` 上述代码将返回一个包含所有<span>标签的列表。你可以遍历这个列表,并提取你需要的数据。 例如,你可以打印出所有<span>标签的文本内容: ```python for span in span_tags: print(span.text) ``` 以上代码将打印出每个<span>标签的文本内容。 以上就是使用PythonBeautifulSoup库爬取<span>标签的基本步骤。根据所爬取的网页的具体结构和需要提取的数据,你可能需要进一步的调整和处理。 ### 回答3: 使用BeautifulSoup库来爬取网页中的<span>标签可以通过以下步骤实现: 1. 导入所需的库: ```python from bs4 import BeautifulSoup import requests ``` 2. 使用requests库发送HTTP请求来获取网页内容: ```python response = requests.get(url) # 发送请求并获取网页内容 html_content = response.text # 获取网页的文本内容 ``` 3. 使用BeautifulSoup解析网页内容: ```python soup = BeautifulSoup(html_content, 'html.parser') ``` 注意,这里的'html.parser'是指定BeautifulSoup使用的解析器,可以根据实际情况选择合适的解析器。 4. 使用select或find_all方法找到所有的<span>标签: ```python spans = soup.select('span') # 使用CSS选择器选择所有的<span>标签 # 或者 spans = soup.find_all('span') # 使用标签名称直接选择所有的<span>标签 ``` 5. 遍历获取到的<span>标签进行进一步处理: ```python for span in spans: print(span.text) # 打印<span>标签中的文本内容 ``` 这样就可以通过BeautifulSoup库来爬取网页中的<span>标签了。根据实际需要,可以进一步处理或提取<span>标签中的其他信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值