0
だから、リンク内の特定のタグのテキストをつかむだけです。たとえば、テキストに特定の単語が含まれている場合のみHTMLを返します。テキストに「chemical」が含まれている場合は、そのリンクを返しますあなたのget_all_joblinks
機能に単一indeed.caページからのリンクをすべて取得しているようだhtmlタグからテキストを抽出するにはどうすればいいですか?
import requests
from bs4 import BeautifulSoup
import webbrowser
jobsearch = input("What type of job?: ")
location = input("What is your location: ")
url = ("https://ca.indeed.com/jobs?q=" + jobsearch + "&l=" + location)
base_url = 'https://ca.indeed.com/'
r = requests.get(url)
rcontent = r.content
prettify = BeautifulSoup(rcontent, "html.parser")
all_job_url = []
def get_all_joblinks():
for tag in prettify.find_all('a', {'data-tn-element':"jobTitle"}):
link = tag['href']
all_job_url.append(link)
def filter_links():
for eachurl in all_job_url:
rurl = requests.get(base_url + eachurl)
content = rurl.content
soup = BeautifulSoup(content, "html.parser")
summary = soup.find('td', {'class':'snip'}).get_text()
print(summary)
def search_job():
while True:
if prettify.select('div.no_results'):
print("no job matches found")
break
else:
# opens the web page of job search if entries are found
website = webbrowser.open_new(url);
break
get_all_joblinks()
filter_links()
はい私はすべてのリンクを抽出し、それらに含まれる特定のテキストに基づいてフィルタリングしたいと思います。それらがフィルタリングされた後、私はフィルタリングされたものとのリンクを表示したい。それは可能ですか? – DJRodrigue
編集をご覧ください。私はおそらく、このコードは実行に時間がかかることを警告する必要があります。 –