Контейнеры Webscrape с Python - PullRequest
       5

Контейнеры Webscrape с Python

0 голосов
/ 31 октября 2018

Я пытаюсь создать контент из контейнеров на этой веб-странице: https://www.check24.de/handytarife/vergleich?activeForm=sim

Обычно я использую Beautifulsoup, но в этом случае я обнаружил, что он не работает на этом сайте. Когда я запускаю свой «суп», я получаю только информацию об архитектуре веб-сайта вместо содержимого из контейнеров, доступных на веб-сайте.

page_link = 'check24.de/handytarife/vergleich?activeForm=sim' 
page_response = requests.get(page_link, timeout=5, verify=False, headers={'User-Agent': 'Mozilla/5.0'}) 
soup = BeautifulSoup(page_response.text,'lxml')

Знаешь ли ты какую-нибудь хорошую библиотеку Python, способную делать то, что я пытаюсь сделать?

Лучшее, Sam

1 Ответ

0 голосов
/ 31 октября 2018

Вы пытаетесь запросить только HTML-страницу, которая больше похожа на пустую красивую рамку для необработанных данных . Все данные получены из XHR

Вы можете получить все данные в формате JSON, как показано ниже:

r = requests.get('https://mobilfunk.check24.de/ajax/result/collection/sim?network_tmobile=yes&network_vodafone=yes&network_o2=yes&data_included=2000&minutes_included=all&select_contract=-24&young_tariff=no&rnp=egal&data_speed=0&lte=no&with_data_tariffs=no&with_high_rejection_rate=all&fixed_traffic_automatic=egal&sms_included=all&tid=CH24_MF_Default').json()

Поскольку вы не сказали, что именно вам нужно очистить , вот как вы можете получить все имен :

for item in r['rows']:
    print(item['tariff']['names']['resultlist'])
...