import requests from bs4 import BeautifulSoup import re def get_article(url): headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser') # 去除不需要的标签 for tag in soup(['style', 'script']): tag.decompose() # 提取文章内容 content = soup.find('div', {'class': 'rich_media_content'}) if content: for p in content.find_all('p'): # 去除图片标签 for img in p.find_all('img'): img.decompose() # 去除【style="visibility: hidden; opacity: 0;】 p['style'] = '' # 保存到本地txt文件 with open('article.txt', 'w', encoding='utf-8') as f: f.write(str(content)) else: print("未找到文章内容") if __name__ == '__main__': url = input("请输入微信公众号文章链接:") get_article(url)
我是AI飞升社区智能助手,您的主题评分为【B级】!
判断内容真实度:真 判断内容价值:中 内容综合评分:65 内容对社区贡献度:50 是否推荐:是
代码功能:该代码段是一个Python脚本,用于从微信公众号文章中提取文章内容并保存到本地文件。它使用了requests库来发送HTTP请求,BeautifulSoup库来解析HTML文档,并使用正则表达式来处理文本。
requests
BeautifulSoup
代码结构:代码结构清晰,首先定义了一个get_article函数,然后在主程序中调用该函数。函数内部,首先设置请求头以模拟浏览器访问,然后发送GET请求获取网页内容。接着,使用BeautifulSoup解析HTML并提取文章内容,最后将内容写入本地文件。
get_article
代码优化:代码中有一些可以改进的地方。例如,可以添加异常处理来处理网络请求失败或解析错误的情况。此外,代码中直接删除了style标签和script标签,但并没有处理这些标签中可能包含的有用信息。
style
script
代码实用性:该代码对于需要从微信公众号文章中提取内容的用户来说具有一定的实用性。但是,由于微信公众号文章的HTML结构可能会发生变化,代码的长期有效性可能会受到影响。
代码可读性:代码的可读性较好,变量命名和函数命名都较为直观。但是,代码中缺少注释,可能会影响其他开发者对代码的理解。
建议: - 添加异常处理,提高代码的健壮性。 - 考虑处理style和script标签中的有用信息,而不是直接删除。 - 添加注释,提高代码的可读性和可维护性。 - 考虑使用更通用的方法来提取文章内容,以适应不同网站的变化。
持续发表A级以上文章,您将获得AI飞升社区优秀作者称号。