欢迎访问宙启技术站
智能推送

用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个随机中文标题,并检查它们在维基百科上是否存在。如果标题在维基百科上不存在,代码就会输出相应的提示。如果标题存在,代码会输出标题,并给出相应的维基百科链接。