Создание веб-страниц данных JSON

#python #html #json #python-requests

Вопрос:

Я пытаюсь соскрести отсюда названия должностей.

Используя Beautifulsoup, я могу соскрести названия должностей с первой страницы. Я не могу соскрести названия должностей с оставшихся страниц. Используя Developertool > сеть, я понял, что тип контента-JSON.

 import requests
import json
import BeautifulSoup
from os import link
import pandas as pd
s = requests.Session()
headers = {
    'Connection': 'keep-alive',
    'sec-ch-ua': '^\^',
    'Accept': '*/*',
    'X-Requested-With': 'XMLHttpRequest',
    'sec-ch-ua-mobile': '?0',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.101 Safari/537.36',
    'Content-Type': 'application/json; charset=utf-8',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Dest': 'empty',
    'Referer': 'https://jobs.epicor.com/search-jobs',
    'Accept-Language': 'en-US,en;q=0.9',
}
url=’https://jobs.epicor.com/search-jobs/results?ActiveFacetID=0amp;CurrentPage=2amp;RecordsPerPage=15amp;Distance=50amp;RadiusUnitType=0amp;Keywords=amp;Location=amp;ShowRadius=Falseamp;IsPagination=Falseamp;CustomFacetName=amp;FacetTerm=amp;FacetType=0amp;SearchResultsModuleName=Search Resultsamp;SearchFiltersModuleName=Search Filtersamp;SortCriteria=0amp;SortDirection=1amp;SearchType=5amp;PostalCode=amp;fc=amp;fl=amp;fcf=amp;afc=amp;afl=amp;afcf=’
response = s.get(url, headers=headers).json()
data=json.dumps(response)
#print(data)
d2=json.loads(data)
for x in d2.keys():
  print(x)
###from above json results how to extract “jobtiltle”
 

Проблема в том, что данные JSON результата выше содержат Html-теги. В этом случае, как удалить названия должностей из данных JSON?

Был бы очень признателен за любую помощь в этом.

К сожалению, в настоящее время я ограничен использованием только запросов или другой популярной библиотеки python. Заранее спасибо.

Ответ №1:

Если названия должностей-это все, что вам нужно из текста вашего ответа:

 from bs4 import BeautifulSoup
# your code here
soup = BeautifulSoup(response["results"])
for item in soup.findAll("span", { "class" : "jobtitle" }):
    print(item.text)
 

Для навигации по страницам, если вы наведете курсор мыши на кнопки » До » или «Далее», вы увидите URL-адрес для запроса данных.