веб-очистка нескольких атрибутов Python в строке (div и id) - PullRequest
0 голосов
/ 04 сентября 2018

Я бы хотел написать эту страницу. Итак, я начал с этого сценария:

import requests
from bs4 import BeautifulSoup
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

links = {"Copa do Brasil": "http://www.oddsportal.com/soccer/brazil/copa-do- 
brasil/results/"}

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36'}

data = []
for club, link in links.items():
    response = requests.get(link, headers = headers) 
    #print(response.status_code) #200 is OK

    soup = BeautifulSoup(response.text, 'lxml')
    #print(soup.prettify())  #to check if soup downloads correctly. 
    table = soup.find_all('div', attrs ={'id', 'tournamentTable'})
    print(table)

Проблема заключается в следующих строках при проверке HTML-кода:

<div id="tournamentTable" style = "display: block;">
   <table class =" table-main" id="tournamentTable"> </table> ==$0

Мне интересно, что мне делать, чтобы получить таблицу всех матчей. Я застрял в том факте, что класс, идентификатор и стиль используются вместе.

1 Ответ

0 голосов
/ 04 сентября 2018

попробуйте прочитать html из панд

    import pandas as pd



    i = 0

    for line in your_html_response_from_requests:
        try:
            i = i+1
            df = pd.read_html(your_html_response_from_requests.content)[i]      
            df.to_csv(file,header=False, index=False,sep=';',encoding='utf-8')
        except Exception as err:
            break
    file.close()

я использовал to_csv для создания файла, но вы можете использовать что угодно

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