用Python获取网页https://www.qqxiuzi.cn/hanzi/gfhz/8105.html中的通用规范汉字,并写入文件
时间: 2023-12-23 11:03:16 浏览: 131
可以使用requests和BeautifulSoup库来获取网页内容和解析HTML,然后使用正则表达式来匹配汉字,最后将匹配到的汉字写入文件中。
以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
import re
# 发送请求获取网页内容
url = "https://www.qqxiuzi.cn/hanzi/gfhz/8105.html"
response = requests.get(url)
html = response.content.decode("utf-8")
# 解析HTML
soup = BeautifulSoup(html, "html.parser")
content = soup.find("div", class_="content")
# 匹配汉字
pattern = re.compile(r"[\u4e00-\u9fa5]")
result = pattern.findall(content.text)
characters = set(result)
# 写入文件
with open("characters.txt", "w", encoding="utf-8") as f:
for ch in characters:
f.write(ch)
```
运行以上代码后,会在当前目录下创建一个名为“characters.txt”的文件,其中包含网页中出现的所有通用规范汉字。
相关问题
用Pytnon在网页http://code.web.idv.hk/charset/csws1.php上获取通用规范汉字(TGhanzi.txt)每个汉字的部首,并写入文件
首先,需要用requests库从网页上获取TGhanzi.txt文件的内容。然后,需要用正则表达式从文件中提取每个汉字,并用字典记录每个汉字的部首。最后,将字典写入文件。
以下是示例代码:
```python
import requests
import re
# 获取TGhanzi.txt文件内容
url = 'http://code.web.idv.hk/charset/csws1.php?charset=TGhanzi'
response = requests.get(url)
content = response.text
# 用正则表达式提取每个汉字
pattern = re.compile(r'[\u4e00-\u9fa5]')
hanzi_list = pattern.findall(content)
# 记录每个汉字的部首
bushou_dict = {}
for hanzi in hanzi_list:
url = f'http://xh.5156edu.com/html3/{ord(hanzi):X}.html'
response = requests.get(url)
content = response.text
pattern = re.compile(r'<a href="http://xh.5156edu.com/html3/\d+.html">(.*?)</a>')
bushou = pattern.search(content).group(1)
bushou_dict[hanzi] = bushou
# 将字典写入文件
with open('bushou.txt', 'w', encoding='utf-8') as f:
for hanzi, bushou in bushou_dict.items():
f.write(f'{hanzi}\t{bushou}\n')
```
运行以上代码后,将在当前目录下生成一个名为bushou.txt的文件,每行表示一个汉字和它的部首,用制表符分隔。
用python获取一个通用规范汉字文件(TGhanzi.txt)中的每个汉字的拼音并写入文件
可以使用第三方库pypinyin来获取汉字的拼音。以下是示例代码:
```python
import pypinyin
# 读取TGhanzi.txt文件
with open('TGhanzi.txt', 'r', encoding='utf-8') as f:
hanzi_list = f.read().split()
# 获取每个汉字的拼音
pinyin_list = []
for hanzi in hanzi_list:
pinyin = pypinyin.lazy_pinyin(hanzi)[0]
pinyin_list.append(pinyin)
# 将汉字和拼音写入文件
with open('hanzi_pinyin.txt', 'w', encoding='utf-8') as f:
for i in range(len(hanzi_list)):
f.write(hanzi_list[i] + ' ' + pinyin_list[i] + '\n')
```
以上代码将TGhanzi.txt文件中的每个汉字的拼音写入了一个新文件hanzi_pinyin.txt中,每行格式为“汉字 拼音”。
阅读全文