Привет, ребята, так что я пытаюсь почистить сайт Действительно, и пока все работает хорошо, за исключением зарплаты (смеется, конечно).
Так что я далеко не эксперт в запросах, запросах_ html, bs4 и т. Д. После целого часа поисков повсюду я не могу найти ответ на свою конкретную проблему, поэтому вот я ...
Я сократил код, чтобы упростить задачу (я буду очистить больше whatevs) пока что я привел в качестве примера диапазон с .text, который работает нормально, но есть только один диапазон, а не диапазон в диапазоне, как в зарплате:
<div class="salarySnippet salarySnippetDemphasizeholisticSalary">
<span class="salary no-wrap">
<span class="salaryText">
1 900 € - 2 100 € par mois</span>
</span>
</div>
Я француз, так Действительно, во французской версии, если вы хотите попробовать go для Парижа или еще во входных данных:
from bs4 import BeautifulSoup
import requests as req
print("_____Indeed Job Scaper_____")
city = str(input("Enter your city name here: "))
url = ("https://www.indeed.fr/emplois?l=" + city)
u_req = req.get(url)
soup = BeautifulSoup(u_req.content, 'html.parser')
job_elems = soup.find_all('div' , class_='jobsearch-SerpJobCard')
for job_elem in job_elems:
compagny_name = job_elem.find('span' , class_="company")
salary = job_elem.find("span", {"class": "salaryText"})
print(compagny_name.text)
print(salary.text)
Если я не прошу напечатать .text на зарплату, я получу:
<span class="salaryText">
1 800 € - 4 000 € par mois</span>