python 爬取<span></span>中间标签的内容

# python 爬取<span></span>中间标签的内容
html = """
<div>
    <span class='red'>item1</span>
    <div>
        <span id='s1'>item2</span>
    </div>
</div>
"""
# 方法一:使用 scrapy 的Selector
from scrapy.selector import Selector

# scrapy 的选择器支持 css和xpath选择。下面是css选择器。如果你了解前端JQuery的知识,
# 会发现
t1 = Selector(text=html).css('span.red::text').extract()  # class 用点
print(t1)  # ['item1']
t2 = Selector(text=html).css('span::text').extract()  # 所有span 的内容
print(t2)  # ['item1','item2']
t3 = Selector(text=html).css('span#s1::text').extract()  # id 用#
print(t3)  # ['item2']
t4 = Selector(text=html).css('div>div>span::text').extract()  # div 里边 span
print(t4)  # ['item2']

# 方法二:使用bs4
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')
s1 = soup.find('span', attrs={"class": "red"})  # 查找span class为red的字符串
s2 = soup.find_all("span")  # 查找所有的span
result = [span.get_text() for span in s2]
print(result)  # ['item1', 'item2']

1、正则表达式获取<td></td>标签之间的内容

如:<td class="label">行政相对人名称:</td>   获取  行政相对人名称:

Name= re.findall('<td class="label">(.*?)</tb>',text)[0]

 

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
网页源代码模板如下: &lt;html&gt; &lt;meta http-equiv="Content=-Type" content="text/html; charset=utf-8"/&gt; &lt;head&gt; &lt;link href="http://192.167.1.101/hint.css" rel="stylesheet"&gt;&lt;/link&gt; &lt;/head&gt; &lt;body&gt;[talkid:137031381]2014年4月20日 03:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我们已经是dffwerwer天吧! &lt;p&gt; ()&lt;/p&gt; [talkid:137031382]2014年4月22日 04:45:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 音频 :[&lt;a href="files/24434sfsfsjdfrhf_n.m4a"]&gt;音频&lt;/a&gt; &lt;p&gt; ()&lt;/p&gt; [talkid:137031383]2014年4月23日 04:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 图片 :[&lt;a href="files/f/f123ftrtrhf_n.jpg"]&gt;图片&lt;/a&gt; &lt;p&gt; ()&lt;/p&gt; [talkid:137031384]2014年4月24日 05:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我们已方式方法方式 &lt;p&gt; ()&lt;/p&gt; [talkid:137031385]2014年4月25日 06:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我而对方是否的天吧! &lt;p&gt; ()&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; 利用python爬虫,提取源代码字符串,并从每行body爬取[&lt;a href=后的链接地址,如果没有则将该行链接地址设置为NONE
最新发布
07-17
您可以使用Python的正则表达式模块re来提取源代码字符串并从每行body爬取链接地址。下面是一个示例代码,演示如何使用Python爬虫提取源代码字符串并从每行body爬取链接地址: ```python import re html = ''' &lt;html&gt; &lt;meta http-equiv="Content=-Type" content="text/html; charset=utf-8"/&gt; &lt;head&gt; &lt;link href="http://192.167.1.101/hint.css" rel="stylesheet"&gt;&lt;/link&gt; &lt;/head&gt; &lt;body&gt;[talkid:137031381]2014年4月20日 03:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我们已经是dffwerwer天吧! &lt;p&gt; ()&lt;/p&gt; [talkid:137031382]2014年4月22日 04:45:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 音频 :[&lt;a href="files/24434sfsfsjdfrhf_n.m4a"]&gt;音频&lt;/a&gt; &lt;p&gt; ()&lt;/p&gt; [talkid:137031383]2014年4月23日 04:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 图片 :[&lt;a href="files/f/f123ftrtrhf_n.jpg"]&gt;图片&lt;/a&gt; &lt;p&gt; ()&lt;/p&gt; [talkid:137031384]2014年4月24日 05:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我们已方式方法方式 &lt;p&gt; ()&lt;/p&gt; [talkid:137031385]2014年4月25日 06:55:45 , &lt;span class="hint-success" data-hint=""&gt;2323234&lt;/span&gt; 在群 &lt;span class="hint-success" data-hint=""&gt;20011&lt;/span&gt; 发言 我而对方是否的天吧! &lt;p&gt; ()&lt;/p&gt; &lt;/body&gt; &lt;/html&gt; ''' # 提取链接地址的正则表达式 link_regex = r'&lt;a href="([^"]+)"&gt;' # 提取源代码字符串 source_code = re.findall(r'&lt;body&gt;(.*?)&lt;/body&gt;', html, re.DOTALL)[0] # 从每行body爬取链接地址 links = re.findall(link_regex, source_code) links = [link if link.startswith('http') else 'NONE' for link in links] print(links) ``` 运行以上代码,将会输出链接地址的列表,如果没有链接地址,则将该行链接地址设置为"NONE"。您可以根据需要进行进一步的处理或保存。希望能对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值