0
コードが実行されていないエラーが発生しています。 'r'の代わりに 'u'をつけて微調整しようとしましたが、同じエラーが表示されます。スタックから他のソリューションを試しましたが、どこにも行きませんでした。なにか提案を?Regex&BeautifulSoup - TypeError:予期している文字列またはバイト状のオブジェクト
#use urlib and beautifulsoup to scrpe table
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import pandas as pd
url = 'https://www.example.com/profiles'
page = urlopen(url).read()
soup = BeautifulSoup(page, 'lxml')
#print(soup)
reEngName = re.compile(r'\[\*\*.+\*\*\]')
reKorName = re.compile(r'\([^\/h]*\)')
reProfile = re.compile(r'\|.+')
for line in re.findall(reEngName, soup):
print(line)
エラーメッセージ:
Traceback (most recent call last):
File "ckurllib.py", line 18, in <module>
for line in re.findall(reEngName, soup):
File "C:\Users\Sammy\Anaconda3\lib\re.py", line 222, in findall
return _compile(pattern, flags).findall(string)
TypeError: expected string or bytes-like object
私はすべてを理解することはできませんが、 're.findall(reEngName、soup)'では 'BeautifulSoup'オブジェクトを提供しています。findallは' String'を期待しています。 – Gawil
're.findall(reEngName、str(soup)) 'を使用して文字列に変換してください。 – Gawil
@Gawilそれを優先させたい場合や、パラメータを使用して部分ページを切り捨てたい場合を除いて、石鹸を使用することはあまりありません。 soap – Swift