このようなことが尋ねられたら謝りますが、私はPythonの初心者であり、これを理解できません。私は最近、linkedinを調べてthisを使って構造化データを返すGoogle CSEを作成しました。 APIはうまく動作しますが、今ではコードをテキスト文書に入れて自分のコンピュータで解析しようとしています。私の正規表現でそれを実行するたびに試して、それが返されます。テキストファイルでgoogle cse htmlを解析するときに、TypeError:予期される文字列またはバイト様オブジェクト
Traceback (most recent call last):
File "C:\Users\My_PC\Desktop\CSE.py", line 41, in <module>
snippet = re.search(snip,cse).group(1)
File "C:\Users\My_PC\AppData\Local\Programs\Python\Python36-32\lib\re.py", line 182, in search
return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object
だから私はバイトに変換するために、私の正規表現の前にBを入れてみました。それは同じエラーにつながったので、私は同じエラーにつながる正規表現のutf-8でそれをエンコードしようとしました。
もう一度申し訳ありませんが、これまでに質問されていますが、わかりません。誰かが私が間違っていることを教えてもらえますか?それは場合に役立ちます。ここ
は、私のコードです:それは述べて
def google_search(search_term, api_key, cse_id, **kwargs):
service = build("customsearch","v1",developerKey=api_key)
res = service.cse().list(q=search_term, cx=cse_id, **kwargs).execute()
return res['items']
a=0
with open('list.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
name = row[1]+' '+row[2]+' '+row[4]
print("This trial will search for", name)
print()
results = google_search(name, my_api_key, my_cse_id, num=1)
#for result in results:
# pprint.pprint(result)
a += 1
print()
print("This is trial", a)
print()
print('+=+=+=+=+=+=+=+=+')
print()
time.sleep(2)
with open("cse_results.txt", "w+", encoding='utf-8') as cse:#make the files cse_results.txt. cse_results.txt is truncated if it exists
cse.write(str(results))#write results to cse_results.txt
snip = b'View\s<b>(.+?)&nb'#find string that starts with View in html
snippet = re.search(snip,cse).group(1)
print(snippet)#check if regex was captured
with open("cse_parse.txt", "a") as par:#append the found snippet to the cse_parse.txt file
par.write(snippet)
for line in cse:
snippet = re.findall(snip,line)#search cse_results.txt for the snip pattern
print(snippet)#print it to ensure that the regex was found
par.write("HTML Snippet:"+snippet)#append match text to to cse_parse.txt
if a >= 0:
break
私はjuust適切に反映するために、自分自身のコードと同様に、固定くぼみで検索するCSE変数を変更そのコードブロックをコード化する。私はまだ同じエラーが発生しています。私はtxtファイル(cse_results.txt)で正規表現を実行しようとしているにもかかわらず、私は開いているCSVファイル(list.csv)内で作業しているのでですか? – SVill