爬取编程常用词汇,保存为Excel
编程常用词汇
import requests
import openpyxl
from lxml import etree
import re
url = 'https://www.runoob.com/w3cnote/common-english-terminology-in-programming.html'
# 得到响应结果
res = requests.get(url)
# xpath取值
selector = etree.HTML(res.text)
# 字母的索引
word_letter = selector.xpath('//h2/text()')
# 删除列表里前两个多余的值
del word_letter[0:2]
# print(word_letter)
# word_letter 最后的值为
# ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '专业名词']
# 得到每个索引的table,每个table里包含各索引的所有单词
result = selector.xpath('//table')
# 删除多余的数据
result.pop(0)
# 创建workbook
wb = openpyxl.Workbook()
# 创建worksheet
ws = wb.active
# 利用下标取出词汇的索引
index = -1
for table in result:
# 一开始就进行计数,即从0开始
index += 1
# 先添加索引,再取出每个table里的所有单词
ws.append([word_letter[index]])
# 打印索引
print(word_letter[index])
# X索引里没有单词
if word_letter[index] == 'X':
# 每个字母索引之间空一行
ws.append([])
# 继续循环对后面table里的单词进行添加
continue
# 添加一行Excel数据
ws.append(['英文', '译法 1', '译法 2', '译法 3'])
# 将Element类型显示为字符,为byte类型,需要decode
# 中文不显示,需要设置 encoding='utf-8'
words_html = etree.tostring(table, encoding='utf-8').decode()
# 一个tr:单词和译法
# 利用正则得到一个table里所有tr的内容
word_html = re.findall('<tr>.*?</tr>', words_html, re.S)
# 删除带<strong>标签的'英文 译法1 译法2 译法3'这条数据
# 前面已经手动添加,后面不需要每条都去判断去除<strong>标签
word_html.pop(0)
for tr in word_html:
# 一个td:一个单词或一个译法
# 利用正则得到一个tr里所有td的内容
# 得到的为list,一个td_list里面包含一个单词和对应的译文(含空格)
td_list = re.findall('<td>(.*?)</td>', tr, re.S)
# 用新的列表接收去除空格后的单词和译文
word = []
for i in td_list:
# 去除每个td里包含的空格,添加为一个列表
word.append(i.strip())
# 打印单词
print(word)
# 一个word包含一个单词和对应的译文(不含空格)
# 将这个单词添加进Excel
ws.append(word)
# 每个字母索引之间空一行
ws.append([])
# 保存Excel
path = r'C:\Users\Hlzy\Desktop\编程常用词汇.xlsx'
wb.save(path)
# 没有设置单元格样式,可以直接打开Excel,设置边宽,全选居中
控制台打印

Excel内容

提取链接:https://pan.baidu.com/s/11kQnMQU_ilOtgf4Mom0nhw
爬取编程常用词汇,保存为Excel的更多相关文章
- VBA编程常用词汇英汉对照表
表 20‑1到表 20‑8是VBA编程中使用频率最高的英文单词,按字母排序.词性列中,a表示形容词,n表示名词,v表示动词,p表示介词以及其他词性. 表 20‑1 VBA编程常用词汇表 单词 中文 词 ...
- Python:爬取网站图片并保存至本地
Python:爬取网页图片并保存至本地 python3爬取网页中的图片到本地的过程如下: 1.爬取网页 2.获取图片地址 3.爬取图片内容并保存到本地 实例:爬取百度贴吧首页图片. 代码如下: imp ...
- Python爬虫学习(二) ——————爬取前程无忧招聘信息并写入excel
作为一名Pythoner,相信大家对Python的就业前景或多或少会有一些关注.索性我们就写一个爬虫去获取一些我们需要的信息,今天我们要爬取的是前程无忧!说干就干!进入到前程无忧的官网,输入关键字&q ...
- pyhton 网络爬取软考题库保存text
#-*-coding:utf-8-*-#参考文档#https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#find-al ...
- Python爬取拉勾网招聘信息并写入Excel
这个是我想爬取的链接:http://www.lagou.com/zhaopin/Python/?labelWords=label 页面显示如下: 在Chrome浏览器中审查元素,找到对应的链接: 然后 ...
- Python-爬虫实战 简单爬取豆瓣top250电影保存到本地
爬虫原理 发送数据 获取数据 解析数据 保存数据 requests请求库 res = requests.get(url="目标网站地址") 获取二进制流方法:res.content ...
- Python使用requests爬取一个网页并保存
#导入 requests模块import requests #设置请求头,让网站监测是浏览器 headers = { 'user-agent': 'Mozilla/5.0 (Windows NT 6. ...
- 将爬取的网页数据保存到数据库时报错不能提交JPA,Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\xB6 \xE2...' for column 'content' at row 1
错误原因:我们可以看到错误提示中的字符0xF0 0x9F 0x98 0x84 ,这对应UTF-8编码格式中的4字节编码(UTF-8编码规范).正常的汉字一般不会超过3个字节,为什么为出现4个字节呢?实 ...
- 爬取豆瓣电影信息保存到Excel
from bs4 import BeautifulSoup import requests import html.parser from openpyxl import Workbook,load_ ...
随机推荐
- java开发,入职半年。对未来迷茫,如何发展?
蛮多人私密我一些问题,关于面试,关于技术的,我只能说有些路只能靠自己去走,没人可以帮到自己,哪怕偶尔帮一到两次,但是技术的路这么长,总归需要自己独自成长的.附一张自己藏书的照片,与各位共勉 工作三年多 ...
- 检测一个App是不是有UWP血统
Win + Shift + Enter
- DataGridView使用BindingNavigator实现简单分页功能
接上一篇<DataGridView使用自定义控件实现简单分页功能>,本篇使用BindingNavigator来实现简单分页功能.其实也只是借用了一个BindingNavigator空壳, ...
- Python中使用class(),面向对象有什么优势
首先我是辣鸡,然后这个问题的确有点意思 首先,类是一个集合,包含了数据,操作描述的一个抽象集合 你可以首先只把类当做一个容器来使用 class Cycle: def __init__(self,r): ...
- 大数据环境下mongoDB要加索引
mongodb在存储大数据时,对查询的字段需要添加索引,我测试的是阿里云30多万的数据量,不加索引查询已经到8秒,而添加索引之后是毫秒级! 为集合加索引 mongodb支持内嵌属性添加索引 db.ag ...
- spring cloud学习与思考——总起篇
接下来就spring cloud( Spring Boot 2.0版本)写一个系列,一方面加深记忆理解,做个日志,另一个方面,借这个方式跟朋友们沟通交流. 1.Spring boot是Spring的一 ...
- Navicat远程连接MySQL8,必知防坑策略
项目上线是每一个开发工程师面临收获前面抓紧时间开发的成果,但有时我们上线项目首先需要做一些相关的业务测试.通过Xshell远程连接后使用命令行的方式连接操作Mysql这个没什么太大的你问题.但每次通过 ...
- Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x
Assets.xcassets:-1: Failed to find a suitable device for the type IBSimDeviceTypeiPad2x 不知道assets发生了 ...
- SAP之RFC_READ_TABLE
RFC_READ_TABLE 是SAP系统自带的RFC函数,用于读取SAP数据库表的结构和数据.使用方法如下: IMPORTINGQUERY_TABLE:读取的表名DELIMITER:输出字段(DAT ...
- SLES 12: Database Startup Error with ORA-27300 ORA-27301 ORA-27303 While Starting using Srvctl (Doc ID 2340986.1)
SLES 12: Database Startup Error with ORA-27300 ORA-27301 ORA-27303 While Starting using Srvctl (Doc ...