爬虫:页面内容提取,HTML直接输出为Markdown格式

举报
irrational 发表于 2022/01/23 00:06:04 2022/01/23
【摘要】 爬虫:页面内容提取,HTML直接输出为Markdown格式 注意:对内联公式效果较差,建议用https://editor.mdnice.com/的SitDown 爬虫:页面内容提取,HTML直接输出为...

爬虫:页面内容提取,HTML直接输出为Markdown格式

注意:对内联公式效果较差,建议用https://editor.mdnice.com/的SitDown

爬虫:页面内容提取,HTML直接输出为Markdown格式,对CSDN博客有效

这种方法也可以提取博客中水印图片的原图。

1. 提取HTML中的作者、发布日期与内容信息

pip install gne

  
 
  • 1
# 1. 获取页面文本
import requests
import kuser_agent #pip install kuser_agent

url = 'https://blog.csdn.net/weixin_54227557?type=blog'
html = requests.get(url=url,headers={'User-Agent':kuser_agent.get()}).text


# 2.提取关键内容
import gne
extractor = gne.GeneralNewsExtractor()
result = extractor.extract(html)

for key in result.keys():
    print(key,':',result[key])

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2. 把HTML转成Markdown的文本

# 1. 获取整个页面数据
import requests
import kuser_agent
url = 'https://blog.csdn.net/weixin_54227557/article/details/122254246?spm=1001.2014.3001.5502'
html = requests.get(url=url,headers={'User-Agent':kuser_agent.get()}).content

# 2. 提取正文中的HTML文本
from bs4 import BeautifulSoup
bs = BeautifulSoup(html)
text = bs.find(attrs={'id':'article_content'}).prettify()

# 3. 将HTML文本转成Markdown格式
import html2text

ht = html2text.HTML2Text()
# 一般的参数设置
ht.bypass_tables = False
ht.mark_code = True
ht.code = True
# --------------
result = ht.handle(text)
print(result)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

文章来源: blog.csdn.net,作者:irrationality,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_54227557/article/details/122611907

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。