如何使用包含韩语的网址获取请求?

时间:2019-07-25 14:25:47

标签: python-3.x

我编写了一个获取朝鲜语词典网站的完整源代码的功能,然后剪切了mp3的URL。由于韩语而出现错误。
我该如何解决?

import requests
from bs4 import BeautifulSoup
def cut_to_get_mp3_url(word):
        if word == None:
                return None
        link = 'https://krdict.korean.go.kr/vie/dicSearch/search?nation=vie&nationCode=2&ParaWordNo=&mainSearchWord='+word
        x = requests.get(link)
        soup = BeautifulSoup(x.content, "html.parser")
        url = ''
        for link in soup.find_all('img'):
                str_onClick = link.get('onclick')
                if str_onClick != None:
                        if str_onClick.endswith(".mp3');"):
                                url = str_onClick[len("javascript:fnSoundPlay('"): len(str_onClick)-len("');")]
                                print(url)
        return url
cut_to_get_mp3_url('오')

错误:

Traceback (most recent call last):
  File "/home/linh/Desktop/python/in_link.py", line 36, in <module>
    save_file(cut_to_get_mp3_url(korean_word), str(count))
  File "/home/linh/Desktop/python/in_link.py", line 24, in save_file
    x = requests.get(mp3_url)
  File "/usr/lib/python3.7/site-packages/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/api.py", line 60, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 519, in request
    prep = self.prepare_request(req)
  File "/usr/lib/python3.7/site-packages/requests/sessions.py", line 462, in prepare_request
    hooks=merge_hooks(request.hooks, self.hooks),
  File "/usr/lib/python3.7/site-packages/requests/models.py", line 313, in prepare
    self.prepare_url(url, params)
  File "/usr/lib/python3.7/site-packages/requests/models.py", line 387, in prepare_url
    raise MissingSchema(error)
requests.exceptions.MissingSchema: Invalid URL '': No schema supplied. Perhaps you meant http://?

1 个答案:

答案 0 :(得分:0)

我在这里找到了一个与我的问题有关的网站。 https://www.reddit.com/r/Korean/comments/60fzyq/download_sound_files_from_naver_dictionary/

我在我的情况下适用,它有效:D

import urllib.request
import re

#koreanWords = input('Enter words: ').split()

koreanWords = ['한국']

for x in range (0,len(koreanWords)):
    url = ('https://krdict.korean.go.kr/vie/dicSearch/search?nation=vie&nationCode=2&ParaWordNo=&mainSearchWord'+ urllib.parse.urlencode({'': koreanWords[x], 'kind': 'keyword'}))
    print(url)
    response = urllib.request.urlopen(url)
    html = response.read()
    html = html.decode("utf8")
    response.close()


    regexSearch = re.search('mySound = soundManager.createSound\({url:\'(.*?)(\'|$)', html)
    mp3Page = regexSearch.group(1)
    print(mp3Page)