爬取百度百科上有关妇产科的语料

爬取语料并训练word2vec词向量 一、用网络爬虫爬取数据 要训练出效果不错的词向量,通常需要G级以上的文本语料,本文作为demo,仅提供实现流程。因此,爬取一篇新闻作为训练语料。 #!/usr/bin/python3 # -*- coding:utf-8 -*- """ @Author : heyw @Contact : he_yuanwen@126.com @Time : 2020/2/22 14:40 @Softwa... 阅读详情

我写了一个Python程序,爬取了百度百科上有关妇产科的语料,把它放在了python文件同级目录 “data/产科语料.txt”, 所以要想跑通这个程序,一定要把data文件夹建立上,不然会报找不到文件错误。

我的实验环境是

python 3.5 ,第三方包:BeautifulSoup(解析html的包,可以通过相应pip命令下载获得),本程序与操作系统无关。

程序目录如下图:

这里写图片描述

程序如下:

#! /usr/bin/python
# coding=utf-8

import requests
import time
import re
from bs4 import BeautifulSoup

__http_headers__ = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
                    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko',
                    'Connection': 'keep-alive',
                    'Host': 'baike.baidu.com',
                    'Accept-Encoding': 'gzip, deflate, br',
                    'Accept-Language': 'zh-CN,zh;q=0.9',
                    }

A_HISTORY = []  # 历史标签容器,里面为已经访问的页面

A_CURRENT = ['https://baike.baidu.com/item/%E4%BA%A7%E7%A7%91']  # 当前标签容器,里面为当前访问的页面
count = 1  # 处理页面个数


def has_url(str_url):
    for i in range(0, len(A_HISTORY)):
        if str_url == A_HISTORY[i]:
            return True
    return False


def process_data(url_str, f_):
    """
    获取页面数据并存入txt文件中,详细信息请看代码注释
    :param f_: 文件流
    :param url_str: url字符串
    :return: None
    """
    global count
    # str__ = get_real_url(url_str)
    if not has_url(url_str):
        iterator = []
        res = requests.get(url_str, headers=__http_headers__)
        if res.status_code != '403':
            res.encoding = 'utf-8'

            # print(res.status_code)
            html_doc = res.text
            soup = BeautifulSoup(html_doc, 'lxml')  # 获取文档对象

            # 抓取需要的数据(除去了标签信息)
            div_all = soup.find_all('div', attrs={'class': True})
            for div in div_all:
                if 'para' in str(div['class']).strip():
                    iterator.append(str(div.text).replace(' ', '').replace('\n', ''))
            content = ''.join(iterator)

            # 去除文本中间的空格
            strinfo = re.compile(' ')
            content = strinfo.sub('', content)

            # 内容限制
            if '妇产科' in str(content) or '就诊科室' in str(content) and '妇产科' in str(content):

                # 将抓取到页面的所有内容的有效链接放入A_CURRENT中
                a_all = soup.find_all('a', attrs={'href': True})
                for a in a_all:
                    if str(a['href'].strip()).startswith('/item/%'):
                        A_CURRENT.append('https://baike.baidu.com' + a['href'].strip())

                # 将数据写入txt文件
                f_.write(content)
                f_.flush()
                # f_.close()
                iterator.clear()

                # 将url存入A_HISTORY中
                A_HISTORY.append(url_str)
                print('第 ' + str(count) + ' 个页面处理完成......')
                count += 1
            else:
                print('链接不相关')
    else:
        print("这个url已经访问过了")
    # time.sleep(5)


if __name__ == '__main__':
    print("开始处理数据.....")
    time.sleep(1)
    print("......")
    time.sleep(1)
    print("发")
    time.sleep(1)
    print("车")
    time.sleep(1)
    print("了")
    time.sleep(1)
    print("赶")
    time.sleep(1)
    print("快")
    time.sleep(1)
    print("上")
    time.sleep(1)
    print("车")
    time.sleep(1)
    print("......")
    time.sleep(1)
    print("嘀嘀...嘀嘀..")
    time.sleep(3)

    f = open('data/产科语料.txt', 'a', encoding='utf-8')
    while len(A_CURRENT) > 0:
            process_data(A_CURRENT[0], f)
            A_CURRENT.remove(A_CURRENT[0])
    f.close()
    print("什么时候到我这里啊,我尿急")
如何使用中文维基百科语料 前言在做自然语言处理时很多时候都会需要中文语料库,高质量的中文语料库较难找,维基百科和百度百科算是比较不错的语料库。其中维基百科会定时将语料库打包发布 https://dumps.wikimedia.org/zhwiki/ ,可以下载最新版本的语料库。而百度百科则需要自己去爬,不过也有人把爬好的语料贡献出来了,https://pan.baidu.com/share/init?surl=i3wvfil 阅读详情

相关推荐

百度百科语料库

语料库分为人物、景区、动物

用Python爬取英文文本(附代码)

本文介绍了使用Python编写网络爬虫程序获取英文文本并进行词频分析和词云生成的全过程。研究背景强调了爬虫技术在信息获取和搜索引擎开发中的重要性,特别指出大一学生掌握爬虫基础的必要性。文章详细阐述了爬虫工作的四个关键步骤(请求发送、内容获取、解析和存储)以及涉及的Python核心技术(字符串处理、字典、列表等数据结构)。实现过程展示了具体代码,包括使用requests获取网页内容、BeautifulSoup解析HTML、split()方法分词、字典统计词频,以及利用WordCloud库生成词云图。

2301_80160362的博客 1145

百度百科百万级问答语料集

从百度百科词条知识库中爬取下来的百万条百科知识,可用于自然语言处理、QA问答、知识图谱、实体识别、关系抽取等技术研究

【python爬虫】爬取网站数据,整理三句半语料数据集

爬数据

qq_41536059的博客 2228

百度百科词条

百度百科约500万条词条,可用于语义关联或简单的知识网络建立,xml格式,解压后638M,请不要用记事本直接打开,我是用UE打开的,sublime好像会有乱码,文件内容示例如下: =1 <TITLE>=百度百科 =百度,百度百科,网络,百科全书,百科词典 =百度知道;贴吧;百度空间;百度地图;百度新闻搜索;百度图片;百度mp3;百度Hi;百度工具栏;百度影视;百度邮编搜索;百度黄页搜索;百度杀毒;百度语音搜索;科利尔百科全书;苏联大百科全书;汇吃百科;维基百科;百度视频;百度蜘蛛;百度文库;互动百科;百度文档;百度文化共享搜索;百度盲道;百度会员;百度搜藏;百度TV;百科全书;知识掌门人;百度游戏;百度有啊;张震;科友; =http://baike.baidu.com/view/1.htm =2 <TITLE>=词条 =百度,百度百科 =相关词条; =http://baike.baidu.com/view/2.htm =3 <TITLE>=编辑实验 =百度,百度百科,帮助,词条,编辑 =词条;百度; =http://baike.baidu.com/view/3.htm =4 <TITLE>=馒头 =食品,饮食,面食,食谱,蒸馍 =大饼;油条;面包;饺子;花卷;包子;麻花;食品;主食;糯米饭;蛋糕;鲜肉包;米粥;面条;凉拌菜;年糕;饼干;窝头;粽子;烤饼;酥饼;汤圆;烧饼; =http://baike.baidu.com/view/4.htm =6 <TITLE>=雁荡山 =地理,旅游,旅游景点,自然景观,地质公园 =华山;泰山;普陀山;恒山;嵩山;莫干山;浣江;衡山;括苍山;双龙洞;雪窦山;天台山;天目山;楠溪江;天柱山;景宁香炉山;乌镇;杭州西湖;泽雅;白水洋;武夷山;洞宫山;桃花岛;三清山;黄山;新安江水库;崂山区;溪口;太姥山;南麂列岛;野鹤湫;庐山;江心屿;瑶溪;朱家尖;石桅岩;绍兴县;杨家溪;仙岩山;仙都风景区;大龙湫;三折瀑;五岳; =http://baike.baidu.com/view/6.htm =7 <TITLE>=灵峰 =风景,雁荡山,地理,旅游,温州 = =http://baike.baidu.com/view/7.htm

python语料爬虫

做自然语言处理时需要语料来做训练集,利用这个爬虫程序可以很方便的获取语料。

全量爬取百度词库的词条

参考 https://zhidao.baidu.com/question/84723766.html 批量获取关键词 base_url = 'http://baike.baidu.com/view/{}.html' headers = { "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,...

Enjolras_fuu的博客 2865

爬取百度百科中文页面,抽取三元组信息,构建中文知识图谱

爬取百度百科中文页面,抽取三元组信息,构建中文知识图谱

【Python爬虫】百度百科词条内容

百度百科爬虫

PokiFighting的专栏 2530

百度百科抓取工具

这个是一个python脚本,加入了动态代理,主要做的就是实现百度百科自动抓取

百度百科互动百科模板

互动百科模板,仿百度互动百科模板

获取并处理中文维基百科语料

中文语料库中,质量高而又容易获取的语料库,应该就是维基百科的中文语料了,而且维基百科相当厚道,每个月都把所有条目都打包一次(下载地址在这里:https://dumps.wikimedia.org/zhwiki/),供全世界使用,这才是真正的“取之于民,回馈于民”呀。遗憾的是,由于天朝的无理封锁,中文维基百科的条目到目前只有91万多条,而百度百科、互动百科都有千万条了(英文维基百科也有上千万了)。尽管如此,这并没有阻挡中文维基百科成为几乎是最高质量的中文语料库。(百度百科、互动百科它们只能自己用爬虫爬取,而且

技术博客 1万+

uniapp 开发微信小程序请求问题 , 真机调试正常,开发工具正常,但是使用扫码预览接口都是不通的,发布到体验版也是请求失败

uniapp开发小程序体验版接口请求失败(真机可以)

weixin_60408555的博客 3954

爬取百度百科语料

python3爬取百度百科语料前言思路代码一些细节结果结束语 前言 迫于毕业压力,开始自学NLP(在一个研究院读研,早早开始实习,然而实习公司部门没有能支撑写论文的项目,想想还是挺坑的????‍♂️),看了一些资料,决定先开始从词向量入门吧,然而没有好的中文语料,虽然维基百科提供免费的中文语料,但是我看了一下,还要繁体转简体,巴拉巴拉的,并且国内用维基百科毕竟少数,所以估计语料的质量也不咋地,想着我们日...

qq_34449195的博客 1254

基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践指南

本文详细介绍了基于Matlab/Simulink的三相并网逆变器dq阻抗扫频仿真与理论建模实践方法。通过搭建仿真模型、设计扰动注入策略和FFT分析,精确提取阻抗特性,有效预测系统稳定性,为新能源并网系统设计提供可靠指导。

gold的博客 775

宜搭子表单(自定义页面全部展示)

效果:增加自定义页面添加表格组件,配置数据源变量: formUuid'表单编码'变量: pageSize10变量: currentPage1。

2301_80286061的博客 2277

第一章 获取语料库

1.获取文本语料通过import nltk.book 访问定义好的文本通过nltk.corpus.gutenberg.fileids()访问古藤堡项目的文件from nltk.corpus import gutenburg        emma=gutenburg.fileids()       print(emma)  emma=gutenburg.words('austen-emma.txt...

u011588619的博客 2442

Twin Builder CFD 示例:构建、验证和评估静态 ROM

通过我们构建、验证和评估静态 ROM 的综合指南,释放 Twin Builder CFD 的潜力。

jkh920184196的博客 1102

语料

https://pan.baidu.com/s/1pQkOpFgltoK4gFzUPNVZKA

qq_20906745的博客 1004

【QT/C++】事件过滤器之基于重写 eventFilter 方法的多种常见应用场景及实现

Qt事件过滤器通过重写eventFilter方法实现多种实用功能:1)鼠标事件处理(点击全选文本、禁用滚轮、悬停提示);2)键盘事件处理(输入内容限制、快捷键提交);3)焦点事件处理(自动弹出下拉框、实时验证);4)绘图事件处理(自定义控件绘制);5)窗口事件处理(防止意外关闭、尺寸限制)。事件过滤器提供非侵入式的事件处理方案,相比传统子类化方式更灵活,通过installEventFilter安装到目标控件即可实现各种交互增强功能。

yuhuasheng1997的博客 1484

Python爬虫反爬:突破Cloudflare 5秒盾(免费方案,小红书/知乎可用)

这套方案的核心优势是“真实模拟+免费无门槛”无需付费代理、无需复杂JS解密,仅用playwright模拟真实浏览器,即可突破Cloudflare 5秒盾;适配小红书、知乎、豆瓣等主流平台,修改配置即可复用;兼顾易用性和稳定性,新手也能快速上手,企业级场景可通过IP轮换、异步爬取进一步优化。“模拟人类行为到底”——Cloudflare的反爬本质是区分“机器”和“人类”,只要爬虫的浏览器指纹、行为特征与人类一致,就能稳定绕过限制。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2881

维基百科简体中文语料的获取

最近做实验需要较大规模的中文语料,很自然的就想到使用维基百科的中文数据。   使用维基百科做训练语料有很多好处: 维基百科资源获取非常方便,有 Wiki Dump 可以直接下载,所有的最新备份都在里面。最近的一次备份是3月底,也就是5天前。相比之下,其他很多语料都需要用爬虫抓取,或者付费获得。维基百科的文档解析有非常多的成熟工具,直接使用开源工具即可完成正文的提取。维基百科的质量较高,而且

u010920224的专栏 3669

Lumerical 教程,包含作者个人理解及相关设计案例 (目前共计184篇,持续更新中)

4138。

u011699626的博客 1620

爬取微博对话语料制作聊天机器人

微博终结者爬虫 关于聊天对话系统我后面会开源一个项目,这个repo目的是基于微博构建一个高质量的对话语料,本项目将继续更进开发,大家快star!!永远开源! 这个项目致力于对抗微博的反爬虫机制,集合众人的力量把微博成千上万的微博评论语料爬取下来并制作成一个开源的高质量中文对话语料,推动中文对话系统的研发。 本系统现已实现: 爬取指定id用户的微博数,关注数,粉丝数,所有微博内容以及所有

omnispace的博客 3660

风光互补制氢系统动态仿真建模与性能分析

摘要 本文针对离网型风光互补制氢系统,建立了包含光伏阵列、风力发电机、PEM电解槽、储能电池和储氢罐的完整动态数学模型。基于MATLAB/Simulink平台开发了模块化仿真框架,设计了考虑电解槽最小运行功率约束的能量管理策略。通过典型日仿真分析表明,风光互补可有效平抑单一能源的功率波动,系统整体能量效率达58.7%,电解槽负荷跟随特性良好。提出的动态仿真方法为风光制氢系统的优化设计和运行控制提供了有效工具。 关键词:风光互补制氢;PEM电解槽;动态仿真;MATLAB/Simulink;能量管理

huanghm88的专栏 76

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

爬取人民日报_人民日报语料库抓取python实现

最近需要抓取语料库,在一个NLP的论坛上看到有人民日报的1946到2003的所有资料。准备把这些资料抓取下来(虽然有点老了,但是聊胜于无,哪位高人知道更好的来源请告知)。程序是用python写的,主要用到bs4解析模块。由于是新手没有使用多线程,事实证明效率果然不快,因为有大量的数据IO。等看完多线程爬虫再实现一个多线程版本的。先将就用吧。在windows下运行的同学,请把程序中文件夹和文件名的编...

weixin_27059669的博客 1873

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: 震惊!Python竟然是这样的修改全局变量
下一篇: !!只保留文本中的中英文和符号.,其余都删除
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值