wcsdn_123 2020-04-15 20:55 采纳率: 66.7%
浏览 288

html和代码如下,请各位大神给加一段代码,不知道如何获取//p标签下面的//b标签,这个标签主要就是内容的二级标题,现在就差获取到通知内容里面的二级标题了,比如一、.... 二、....//,

http://www.moe.gov.cn/jyb_xxgk/moe_1777/moe_1778/202003/t20200326_435127.html

获取能获取到所有b标签里面的内容,但是就是不知道怎么添加到程序里面。就差获取标题里面的二级标题了,主要就是//p标签下面的//b标签的内容,不知如何添加到程序,输出的时候能和原文一样,不错位。

import requests
from lxml import etree

url = 'http://www.moe.gov.cn/jyb_xxgk/moe_1777/moe_1778/'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0\
.2743.116 Safari/537.36',
'Accept-Language': 'zh-CN,zh;q=0.8'
}

response = requests.get(url, headers=headers).text
html = etree.HTML(response)
result1 = html.xpath('//ul[@id="list"]//li//a/@href')

for site in result1:
xurl = "http://www.moe.gov.cn/jyb_xxgk/moe_1777/moe_1778/" + site
req = requests.get(xurl, headers=headers)

html2 = etree.HTML(req.content)
result2 = html2.xpath('//p/text()')#获取p标签内容
result3=html2.xpath('//h1/text() ')#通知标题
s=result3+result2
fname = r"C:\Users\Administrator\Desktop\1234.docx"
with open(fname, 'ab') as fp:
for i in s:
fp.write(i.encode('utf-8'))
fp.write(b'\r\n')

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-04-15 21:47
    关注
    import re
    
    pattern = re.compile(r'(?<=\<b\>).*?(?=\<\/b\>)',re.M|re.I) 
    result = pattern.findall('你的html')
    print(result)
    
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题