提取微信公众号文章

提取微信公众号文章

在上文中,我们已经将微信公众号文章的标题和链接存入了一个 txt 文件,每个一行。 接下来我们要做的就是从链接中提取文章正文,以便之后的分析。

首先我们打开一篇文章,以这篇文章为例 机关事业单位职工注意:这47种行为会被开除,违纪将影响养老金,我们右击文章正文文字,检查元素所在位置,发现文章正文部分所在标签为 p。

1

检查网页源代码也可以发现,正文文字都在 p 标签下,知识每部分文字的格式、字号等有所不同,那么我们可以使用 BeautifulSoup 中的 findall 函数来获取所有的 p 标签,这样就可以获得文章的全部正文部分。

2

代码如下:

def extractData(file):
    titles = [row for row in file[::3]]  // 列表解析
    links = [row for row in file[1::3]]

    for title,link in zip(titles,links):
        path = os.getcwd() + "/共青团中央/" + title + ".txt"
        web_data = requests.get(link)
        soup = BeautifulSoup(web_data.text, 'lxml')
        with open(path, 'a', encoding='utf-8') as fh:
            for content in soup.find_all("p"):
                fh.write(content.text)
            fh.close()
        print(title + " end")

if __name__=='__main__':
    filename = open("共青团中央.txt", 'r', encoding='utf-8').readlines()
    extractData(filename)

在上面的代码中,我们首先从之前存入的 txt 文件读取 title 和 link,因为我们是按行存储,所以我们用 readline 按行读取,得到数据的列表,之后用列表解析的方式得到 title 列表和 link 列表,获取正文后存入新的 txt 文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我愿意与世界握手言和,温柔地向世界妥协。或许是目睹了生死才能恍然大悟,自己有多么想要遇见一个人,原则没有那么重要,...
    古郁阅读 163评论 0 0
  • 食物的第二层次:食品价格 消费者选择食品一般都会在价格和品质之间权衡。 市场往往认为消费者就是“要便宜”,这其实是...
    艾小农阅读 120评论 0 0
  • 我曾跟很多朋友强调过陪小朋友读书的好处,朋友们的反应是:我读小朋友跟本都不听啊,走来走去的弄得我也没兴趣读! 还有...
    绿洲玫瑰阅读 388评论 0 3
  • 今天的我是个废人,明天我要恢复正常了,学习使我快乐,我这样催眠自己
    IM安安阅读 148评论 0 0
  • 章麒简介: 章麒,现任山西证券股份有限公司资产管理金融市场部总经理。曾供职于中央汇金注资规模最大的证券类控股子公司...
    授米阅读 823评论 0 1

友情链接更多精彩内容