注意:爬虫有风险,本文仅供参考学习

0. 数据

1980~2018年考研真题 点我下载


1. 分词

import os
import json
import requests
import threading
import time# 记得改为自己的路径
# path为读取文章路径,path2为保存路径
path = "/home/cztAI/Documents/kaoyan/txt/"
path2 = "/home/cztAI/Documents/kaoyan/txt/"# 所有文件名称
files = os.listdir(path)# 文章分割为单词,保存为字典(目的是去重)
dict = {}# 遍历所有文件
for file in files:# 遍历文件每一行for line in open('%s%s' % (path, file), "r"):# 以空格切分,得到一个列表 lists = line.split(' ')# 遍历列表,存入字典for list in lists:# 仅保留字母list = ''.join(re.findall('[A-Za-z]', list))dict[list] = None

2. 多线程爬虫

以上面得到的字典的键(即单词)去创建线程

dict_save = {} # 爬取后存入字典
t_list = [] # 线程列表# 创建线程
for word in dict:t = threading.Thread(target=fetch, args=(word,)) # 传入参数wordt_list.append(t) # 添加线程t.start() #启动线程for t in t_list:t.join()def fetch(num):# 请求地址url = "https://www.oxfordlearnersdictionaries.com/definition/english/" + num# 请求返回html文档r = requests.get(url,headers={'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36'}).text# 判断是否存在该字符串if ('<span class="phon">' in r) :# 分割html文档,第一个不指定分割数,取第3片段# 对该片段分割次,取分割后的第1片段,这就是音标了r = r.split('</div><span class="phon">')[2].split('</span>', 1)[0]# 上面的是美音,下面是英音# r = r.split('</div><span class="phon">')[1].split('</span>', 1)[0]# 如果不想保留 / ,就运行这一个# r = r.split('</div><span class="phon">/')[2].split('/</span>', 1)[0]# 字典键为单词,字典值为音标dict_save[num] = rprint(r)# 保存为json文件
with open('%s%s'%(path2, "words.json"), 'a') as f: # 缩进为4(可无)data = json.dumps(dict_save, indent = 4)f.write(data)print("多线程版爬虫耗时:", time.time() - t1)

3. 结果

耗时212秒,大概3.5分钟,如果不用多线程至少得花3个小时

保存的words.json文件

python多线程爬取音标相关推荐

  1. python多线程爬取斗图啦数据

    python多线程爬取斗图啦网的表情数据 使用到的技术点 requests请求库 re 正则表达式 pyquery解析库,python实现的jquery threading 线程 queue 队列 ' ...

  2. Python 多线程爬取西刺代理

    西刺代理是一个国内IP代理,由于代理倒闭了,所以我就把原来的代码放出来供大家学习吧. 镜像地址:https://www.blib.cn/url/xcdl.html 首先找到所有的tr标签,与class ...

  3. python多线程爬取妹子图

    python多线程爬取妹子图 python使用版本: 3.7 目的: 自己选择下载目录,逐个将主题图片保存到选定目录下. 效果: 一秒钟左右下载一张图片,下了七八十组图片暂时没什么问题,不放心的话,可 ...

  4. python多线程爬取ts文件并合成mp4视频

    python多线程爬取ts文件并合成mp4视频 声明:仅供技术交流,请勿用于非法用途,如有其它非法用途造成损失,和本博客无关 目录 python多线程爬取ts文件并合成mp4视频 前言 一.分析页面 ...

  5. python多线程爬取多个网址_【Python爬虫】多线程爬取斗图网站(皮皮虾,我们上车)...

    原标题:[Python爬虫]多线程爬取斗图网站(皮皮虾,我们上车) 斗图我不怕 没有斗图库的程序猿是无助,每次在群里斗图都以惨败而告终,为了能让自己在斗图界立于不败之地,特意去网上爬取了斗图包.在这里 ...

  6. 斗图斗不过小伙伴?python多线程爬取斗图网表情包,助你成为斗图帝!

    最近python基础课讲到了多线程,老师让交个多线程的实例练习.于是来试试多线程爬虫,正好复习一下mooc上自学的嵩天男神的爬虫知识.想法很美好,过程却很心酸,从早上开始写,每次出现各种奇怪问题,到现 ...

  7. Python多线程爬取斗图啦表情包

    斗图啦表情包多线程爬取-撸代码 首先快速的导入我们需要的模块,和其他文章不同,我把相同的表情都放在了同一个文件夹下面,所以需要导入os模块 import asyncio import aiohttp ...

  8. Python多线程爬取行行网电子书

    行行网电子书多线程爬取-撸代码 代码非常简单,有咱们前面的教程做铺垫,很少的代码就可以实现完整的功能了,最后把采集到的内容写到 csv 文件里面,(csv 是啥,你百度一下就知道了) 这段代码是IO密 ...

  9. Python多线程爬取表情包,代码都放在最后了

    文章目录 一.写在前面 二.步骤解析 三.效果展示 一.写在前面 从老马的两大聊天软件,到其它的各种软件,表情包一直都是中国互联网用户的「心头好」,时至今日,表情包已然成为必不可少的聊天方式. 无论是 ...

  10. python多线程爬取多个网页_python多线程爬取网页

    #-*- encoding:utf8 -*- ''' Created on 2018年12月25日 @author: Administrator ''' from multiprocessing.du ...

最新文章

  1. windows下django学习笔记(二)--HelloWorld
  2. Android 动态设置布局文件的exception
  3. 54. Leetcode 113. 路径总和 II (二叉树-二叉树路径和)
  4. 孤儿进程与僵尸进程[总结]
  5. 排序箭头,升序,降序简单实现
  6. 快速了解和使用Photon Server
  7. SAP Fiori Elements - how to set breakpoint to get converted xml view parsed by f
  8. 使用Apache Kafka作为消息系统的发布-订阅通信中的微服务,并通过集成测试进行了验证...
  9. 地铁框架保护的原理_继电保护的基础知识和原理(地铁)
  10. 【数据结构和算法笔记】二叉树的概念和性质
  11. Web服务器的部署地点
  12. js中addEventLister()函数的用法
  13. caffe自带可运行的两个例子:mnist和cifar10
  14. ECSHOP彩虹易支付插件,彩虹易支付对接ECshop支付接口插件,ECSHOP对接易支付接口插件【2022免签约免申请免企业免年费个人支付接口】
  15. 从游击队到正规军(三):基于Go的马蜂窝旅游网分布式IM系统技术实践
  16. vue 怎么销毁dom_Vue 中如何转移 Dom ?
  17. npm-deprecate
  18. element整理<el-calendar>日历组件-假期(整理)
  19. WPS表格转换成Excel用什么方法
  20. 面试指导:情景处理与应变题常见问题

热门文章

  1. 中国象棋,源码,开发,毕业设计,go,qt,c++,gin,游戏,残局,悔棋,人机,网络对战,双人
  2. 计算机电路计算公式,电路中相关计算公式.doc
  3. 银联支付接口+支付宝接口统一支付功能
  4. Android 5.0特性
  5. Easyar php cloud,EasyAR WebAR 快速入门
  6. ArcGIS数据生产与精细化制图之中国年降水量分布图的制作
  7. 湖北省湖泊河流ArcGIS地形图shp图层文件下载
  8. 卡尔曼滤波算法-Kalman filter
  9. 关于彻底卸载手心输入法的终极操作
  10. 矩阵的转置与求导运算