Это будет читаться как json, так как он находится в структуре json.Я немного сбит с толку относительно того, на что ссылается jobtitle
, поскольку вы не предоставили полный код.А также, поскольку здесь нет полного кода, я могу предложить только общее решение, поэтому вам нужно будет адаптировать его, но вы должны прочитать это следующим образом:
import json
json_str = '{"ad_id_solr":"1a7d243c3610c62012159b7c9d4e900382bbe446","ad_id_mongo":"","ad_segment_id":1723,"ad_partner":"wizbii.com_premium","ad_sector":"Ing\u00e9nierie","ad_subsector":"","ad_jobtitle":"Ing\u00e9nieur d\u00e9veloppeur","ad_company":"SII","ad_type":"exact","ad_position":1,"ad_locality":"Bordeaux"}'
json_dict = json.loads(json_str)
ДОПОЛНИТЕЛЬНО
Теперь, когда вы указали URL, я смог увидеть проблему.Вы хотите использовать .get()
, а не .find
для атрибута 'ctdata'
import json
import requests
import bs4
req = requests.get("https://www.jobijoba.com/fr/query/?what=data&where=Bordeaux&where_type=city%22")
soup = bs4.BeautifulSoup(req.text, 'html.parser')
offers = soup.find_all("a", {'ct':'result_offer_content'})
for offers in soup.find_all("a", {'ct':'result_offer_content'}):
offre = offers.get('ctdata')
json_dict = json.loads(offre)
jobtitle = json_dict['ad_jobtitle']
print (jobtitle)
Вывод:
Ingénieur développeur
Ingénieur développeur
Data Scientist
Data Scientist
Développeur big data
Data Scientist
Data Scientist
Ingénieur développeur
Data Scientist
Data Scientist
Data Scientist
Ingénieur décisionnel
Architecte
Data Scientist
Data Scientist
Data Scientist
Développeur informatique
Некоторые теги не имеютназвание работы с ним, так что вы можете пропустить их / не распечатать их, проверив, является ли название вакансии пустым:
import json
import requests
import bs4
req = requests.get("https://www.jobijoba.com/fr/query/?what=data&where=Bordeaux&where_type=city%22")
soup = bs4.BeautifulSoup(req.text, 'html.parser')
offers = soup.find_all("a", {'ct':'result_offer_content'})
for offers in soup.find_all("a", {'ct':'result_offer_content'}):
offre = offers.get('ctdata')
json_dict = json.loads(offre)
jobtitle = json_dict['ad_jobtitle']
if jobtitle != '':
print (jobtitle)
Вывод:
Ingénieur développeur
Ingénieur développeur
Data Scientist
Data Scientist
Développeur big data
Data Scientist
Data Scientist
Ingénieur développeur
Data Scientist
Data Scientist
Data Scientist
Ingénieur décisionnel
Architecte
Data Scientist
Data Scientist
Data Scientist
Développeur informatique