首页 > 其他分享 >获取百度百科简介

获取百度百科简介

时间:2022-10-21 13:44:18浏览次数:42  
标签:__ 百科 urllib content headers text 简介 import 百度

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from bs4 import BeautifulSoup
import urllib.request
import urllib.parse
import requests
import re

def remove_sup(string):
    regex = re.compile(r'\[\d+-?\d+\]|\n')
    return regex.sub('', string)

def query(content):
    url = 'https://baike.baidu.com/item/' + urllib.parse.quote(content)
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36'}
    req = urllib.request.Request(url=url, headers=headers, method='GET')
    response = urllib.request.urlopen(req)
    text = response.read().decode('utf-8')
    soup=BeautifulSoup(text,"html.parser")
    summary = soup.find("div", attrs={'class':'lemma-summary'})
    s = ''
    for p in summary.find_all("div", attrs={'class':'para'}):
        s += remove_sup(p.get_text()) +'\n'
    return s

if __name__ == "__main__":
    """
    从百度百科获取查询的单位简介
    """
    print('请输入要查询的单位(如清华大学)')
    content = input('请输入:')
    print(query(content))

 

标签:__,百科,urllib,content,headers,text,简介,import,百度
From: https://www.cnblogs.com/carriexu/p/16813181.html

相关文章

  • Py之lulu:lulu库的简介、安装、案例应用之详细攻略
    Py之lulu:lulu库的简介、安装、案例应用之详细攻略目录​​lulu库的简介​​​​1、支持的站点​​​​lulu库的装​​​​lulu库的案例应用​​​​1、下载音乐​​​​2、......
  • ISP(图像信号处理)之Bayer Raw 简介
    ISP(图像信号处理)之BayerRaw简介ISP(图像信号处理)之BayerRaw简介_乐正倩彦的博客-CSDN博客_bayerraw 置顶乐正倩彦于 2019-11-0519:33:58 发布10176 收藏......
  • JMETER入门-简介和安装
    ApacheJMeter是Apache组织基于Java开发的压力测试工具,用于对软件做压力测试。一、什么是JMETER?    JMeter最初被设计用于Web应用测试,但后来扩展到了其......
  • 实用的百度搜索技巧
    1、双引号(“”)。完全匹配搜索,即搜索的页面中包含双引号中出现的所有的词;2、减号(-)。代表搜索不包含减号后面词的页面,减号前面有空格,例如,新家-坡;3、intitle:关键字。返回......
  • 【工具使用】docker(九)docker-compose简介
    定义:用于定义和运行多容器的docker应用程序的工具,通过compose,可以使用yaml文件来配置应用程序的服务。compose的使用一般分3步1、使用dockerfile定义顶用程序的环境......
  • 常用内置模块之os、sys、json简介
    昨日内容回顾包的使用包与普通模块的使用相同。导入包实际是导入了包内的双下iter文件,可以使用该文件内的名称。软件开发目录规范启动相关文件夹bin......
  • SVN 简介
    Subversion(SVN)是一个开源的版本控制系統,也就是说Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通......
  • etcd(1):简介
    etcd介绍官网:https://etcd.io/etcd是一个Go语言编写的分布式、高可用的一致性键值存储系统,用于提供可靠的分布式键值(key-value)存储、配置共享和服务发现等功能。etcd可......
  • SVN 简介
    Subversion(SVN)是一个开源的版本控制系統,也就是说Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository)中。这个档案库很像一个普通......
  • 【JavaWeb】 Mybatis-01-Mybatis的简介:用对话的方式让你明白为什么要使用Mybatis
    一、什么是Mybatis?MyBatis是一款优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射。MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作。MyBati......