Ich habe ein Code-Segment, das link
s besucht und versucht, in jedem in jedem link
zu finden.Datentyp nicht übereinstimmend beautifulsoup TypeError: nicht hashbar Typ: 'list'
Wenn schließlich ein link
hat eine oder mehr der keywords
speichert es in einem list
.
Allerdings, wenn ich meinen Code ausführen es gibt mir eine Ausgabe von: TypeError: unhashable type: 'list'
auf dieser Linie:
for a in soup.find_all('a', class_="result-title hdrlnk", text=re.compile(job_kw,re.IGNORECASE)):
Hier ist der Code:
jobs_by_city = [
'http://boston.website.org/search/widget',
]
job_kw = [['web site','user', 'account'],['permission', 'name']]
job_kw = sum(job_kw, [])
jobs = []
for job_in_city in jobs_by_city:
a_job = requests.get(job_in_city)
soup = BeautifulSoup(a_job.text, "lxml")
for a in soup.find_all('a', class_="result-title hdrlnk", text=re.compile(job_kw,re.IGNORECASE)):
print(a.get('href'))
#jobs.append(a.get('href'))
Was mache ich falsch hier?
Welche „Beautiful Soup“ Version suchen verwenden Sie? 're.compile' nimmt keine Liste als Muster. Ich denke, Sie können die Liste einfach als 'Text' Argument übergeben. In BS v4 können Sie eine Liste an 'string' Argument übergeben. – Himal