"op.gg" Webサイトの正規表現でゲームプレーヤーの名前をクロールしています。PythonのWebクローリングと正規表現
reqexr.comのウェブサイトを使用して、私が得たいと思っているものの正規表現を確認しました.200人の選手が見つかりました。
しかし、私のpythonコードは機能しません。私はリストに200個のデータを挿入しようとしました。リストは空です。
私は一重引用符( ')は私のPythonコードで動作しないと思う。ここ
はコードの私の作品..です
import requests
from bs4 import BeautifulSoup
import re
user_name = input()
def hex_user_name(user_name):
hex_user_name = [hex(x) for x in user_name.encode('utf-8')]
for i,j in enumerate(hex_user_name):
hex_user_name[i] = '%'+j[2:].upper()
return ''.join(hex_user_name)
def get_user_name(user_name):
q = re.compile('k\'>([^<]{1,16})', re.M)
site = 'http://www.op.gg/summoner/userName=' + user_name
source_code = requests.get(site)
plain_text = source_code.text
soup = BeautifulSoup(plain_text, 'lxml')
name = soup.find_all('a')
listB = q.findall(re.sub('[\s\n,]*', '' ,str(name)))
print(listB)
get_user_name(hex_user_name(user_name))
私は強く、このライン
q = re.compile('k\'>([^<]{1,16})', re.M)
に問題がある..しかし、私は間違いを見つけることができなかったことを疑います。
これは私が正規表現に使いたいものです:k\'>([^<]*)
そして이곳은지옥인가(韓国語)が、私はHTMLコードのデータを取得したいものです。
<div class="SummonerName">
<a href="//www.op.gg/summoner/userName=%EC%9D%B4%EA%B3%B3%EC%9D%80%EC%A7%80%EC%98%A5%EC%9D%B8%EA%B0%80" class="Link" target='_blank'>이곳은지옥인가</a>
</div>
私は本当にあなたたちは私を助けて感謝..