用Python编写的生成随机中文标题并设置维基百科语言(set_lang())的示例代码
发布时间:2023-12-17 03:26:19
以下是使用Python编写的生成随机中文标题并设置维基百科语言的示例代码:
import random
import requests
from bs4 import BeautifulSoup
# 设置维基百科语言
def set_lang(lang_code):
session = requests.Session()
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
session.headers.update(headers)
base_url = f'https://{lang_code}.wikipedia.org'
response = session.get(base_url)
soup = BeautifulSoup(response.text, 'html.parser')
return session, base_url, soup
# 生成随机中文标题
def generate_random_title():
first_words = ['美丽', '狂野', '神秘', '激情', '快乐', '迷人', '热情', '幸福', '荒凉', '寂静']
second_words = ['山谷', '大海', '群岛', '天空', '星空', '沙漠', '森林', '峡谷', '瀑布', '雨林']
third_words = ['探险', '旅行', '冒险', '发现', '探索', '征服', '追寻', '迎接', '体验', '掌握']
return random.choice(first_words) + random.choice(second_words) + random.choice(third_words)
# 使用例子
if __name__ == '__main__':
session, base_url, soup = set_lang('zh') # 设置维基百科语言为中文
for _ in range(10): # 生成10个随机中文标题
random_title = generate_random_title()
page_url = f'{base_url}/wiki/{random_title}'
response = session.get(page_url)
soup = BeautifulSoup(response.text, 'html.parser')
if soup.find("table", {"class": "noarticletext"}): # 判断该页面是否是空页面
print(f'生成的随机中文标题 "{random_title}" 在维基百科上不存在。')
else:
print(f'生成的随机中文标题 "{random_title}" 在维基百科上存在。')
print(f'维基百科链接: {page_url}')
使用上述代码可以生成随机中文标题,并且通过设置set_lang()函数将维基百科的语言设置为中文。以下是一个使用例子:
session, base_url, soup = set_lang('zh') # 设置维基百科语言为中文
for _ in range(10): # 生成10个随机中文标题
random_title = generate_random_title()
page_url = f'{base_url}/wiki/{random_title}'
response = session.get(page_url)
soup = BeautifulSoup(response.text, 'html.parser')
if soup.find("table", {"class": "noarticletext"}): # 判断该页面是否是空页面
print(f'生成的随机中文标题 "{random_title}" 在维基百科上不存在。')
else:
print(f'生成的随机中文标题 "{random_title}" 在维基百科上存在。')
print(f'维基百科链接: {page_url}')
这个例子会生成10个随机中文标题,并检查它们在维基百科上是否存在。如果标题在维基百科上不存在,代码就会输出相应的提示。如果标题存在,代码会输出标题,并给出相应的维基百科链接。
