zoukankan      html  css  js  c++  java
  • 09 信息化领域热词分类分析及解释 第三步 将清洗完毕的热词添加百度百科解释

    功能要求为:1,数据采集,定期从网络中爬取信息领域的相关热词

          2,数据清洗:对热词信息进行数据清洗,并采用自动分类技术生成自动分类计数生成信息领域热词目录。

          3,热词解释:针对每个热词名词自动添加中文解释(参照百度百科或维基百科)

          4,热词引用:并对近期引用热词的文章或新闻进行标记,生成超链接目录,用户可以点击访问;

          5,数据可视化展示:① 用字符云或热词图进行可视化展示;② 用关系图标识热词之间的紧密程度。
          6,数据报告:可将所有热词目录和名词解释生成 WORD 版报告形式导出。

    本次完成第三步的部分功能,针对每个热词名词自动添加中文解释,这里我选择的是使用百度百科来解释热词名词。

    具体思路是:读取爬取的热词文件,按行读取,读取完毕后根据获得的line来确定搜索的关键词,将关键词变量结合百度百科的固定url生成需要的url地址

    再运用xpath获取相应的位置的解释,输出即可。需要注意的是,要运用xpath的获取一个标签下的所有文本的知识点。

    代码如下:

    import requests
    from lxml import etree
    
    def climing(line):
        line1=line.replace('
    ','')
        print(line1)
        url = "https://baike.baidu.com/item/"+str(line1)
        print(url)
        head = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36',
            'cookie':'BAIDUID=AB4524A16BFAFC491C2D9D7D4CAE56D0:FG=1; BIDUPSID=AB4524A16BFAFC491C2D9D7D4CAE56D0; PSTM=1563684388; MCITY=-253%3A; BDUSS=jZnQkVhbnBIZkNuZXdYd21jMG9VcjdoanlRfmFaTjJ-T1lKVTVYREkxVWp2V2RlSVFBQUFBJCQAAAAAAAAAAAEAAACTSbM~Z3JlYXTL3tGpwOTS9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMwQF4jMEBed; pcrightad9384=showed; H_PS_PSSID=1454_21120; delPer=0; PSINO=3; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; __yjsv5_shitong=1.0_7_a3331e3bd00d7cbd253c9e353f581eb2494f_300_1581332649909_58.243.250.219_d03e4deb; yjs_js_security_passport=069e28a2b81f7392e2f39969d08f61c07150cc18_1581332656_js; Hm_lvt_55b574651fcae74b0a9f1cf9c8d7c93a=1580800784,1581160267,1581268654,1581333414; BK_SEARCHLOG=%7B%22key%22%3A%5B%22%E7%96%AB%E6%83%85%22%2C%22%E6%95%B0%E6%8D%AE%22%2C%22%E9%9D%9E%E6%AD%A3%E5%BC%8F%E6%B2%9F%E9%80%9A%22%2C%22mapper%22%5D%7D; Hm_lpvt_55b574651fcae74b0a9f1cf9c8d7c93a=1581334123'
        }
        r = requests.get(url,headers = head)
        print(r.status_code)
        html = r.content.decode("utf-8")
        #print(html)
        html1 = etree.HTML(html)
        #print(html1)
        content1 = html1.xpath('//div[@class="lemma-summary"]')
        #print(content1[0])
        if len(content1)==0:
            #custom_dot  para-list list-paddingleft-1
            content1 =html1.xpath('string(//ul[@class="custom_dot  para-list list-paddingleft-1"])')
            print(content1)
            if len(content1)==0:
                pring('未找到解释')
                content1 = '未找到解释'
        else:
            content2 =content1[0].xpath ('string(.)').replace('&nbsp','').replace('
    ','')
    
            print(content2)
    if __name__ == '__main__':
        for line in open("words.txt",encoding='utf-8'):
            #print(line, end = '')
            climing(line)
    

      

    运行截图(部分):

  • 相关阅读:
    Discuz X 2.5 点点(伪静态)
    jq 、xml 省市级联动
    php memcache 初级使用(2)
    关于windows虚拟内存管理的页目录自映射
    SharePoint 2010 网络上的开发经验和资源
    SharePoint 2010 Reporting Services 报表服务器正在内置 NT AUTHORITY\SYSTEM 账户下运行 解决方法
    SharePoint 2010 Reporting Services 报表服务器无法解密用于访问报表服务器数据库中的敏感数据或加密数据的对称密钥 解决方法
    Active Directory Rights Management Services (AD RMS)无法检索证书层次结构。 解决方法
    SharePoint 2010 Reporting Services 报表服务器实例没有正确配置 解决方法
    SharePoint 2010 页面引用 Reporting Services 展现 List 报表
  • 原文地址:https://www.cnblogs.com/xcl666/p/12293342.html
Copyright © 2011-2022 走看看