Я получаю ошибку при python просмотре веб-страниц - PullRequest
0 голосов
/ 19 марта 2020

Я написал код для 4 свойств, чтобы очистить данные, но я получаю данные только из первого поля "title", а остальные 3 поля возвращают пустые результаты. Может кто-нибудь, пожалуйста, сообщите мне, как я могу решить эту проблему. Спасибо! вот мой код:

import requests
from bs4 import BeautifulSoup
#import pandas as pd
import csv

def get_page(url):
    response = requests.get(url)

    if not response.ok:
        print('server responded:', response.status_code)
    else:
        soup = BeautifulSoup(response.text, 'html.parser') # 1. html , 2. parser
    return soup

def get_detail_data(soup):

    try:
        title = soup.find('span',class_="text-info h4",id=False).find('strong').text
    except:
        title = 'empty'  
    print(title)
    try:
        add = soup.find('div',class_="col-xs-12 col-sm-4",id=False).find('strong')
    except:
        add = 'empty add'  
    print(add)  
    try:
        phone = soup.find('div',class_="col-xs-12 col-sm-4",id=False).text
    except:
        phone = 'empty phone'  
    print(phone)


def main():
    url = "https://www.dobsearch.com/people-finder/view.php?searchnum=287404084791&sessid=vusqgp50pm8r38lfe13la8ta1l"
    get_detail_data(get_page(url))
if __name__ == '__main__':
    main()

1 Ответ

0 голосов
/ 19 марта 2020

Для второго вы даете класс, который произошел раньше, чем тот, который вы хотите, поэтому вам нужно изменить класс или go с помощью нескольких результатов. и это случилось для третьего тоже. классы этого типа (col-xs-12) являются некоторыми bootstrap классами, и они являются общими классами для использования, поэтому в целом они не являются хорошими попытками найти их (или вы должны делать более сложные результаты). и как я вижу, на этом сайте не так много уникальных классов, поэтому я думаю, что вы должны использовать несколько методов поиска, чтобы получить то, что вы хотите. и еще одна вещь, которую я могу сказать, это не использовать try ... за исключением случаев, когда вы знаете, что вы получаете от этой части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...