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)
    
    评论

报告相同问题?

悬赏问题

  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划