Почему я не могу сканировать страницу? - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь почистить таблицу на веб-сайте, а затем преобразовать ее в форму CSV.Ничего не видно, несмотря на мой код.Не могли бы вы сказать мне, что пошло не так?

URL: http://www.multiclick.co.kr/sub/gamepatch/gamerank.html

Не беспокойтесь о языке.Пожалуйста, просто установите дату в любое время, которое на день или два раньше, чем сегодня, в календаре и нажмите на увеличительное стекло.Тогда вы сможете увидеть таблицу.

# Load the required modules
import urllib
from bs4 import BeautifulSoup
import pandas as pd

# Open up the page
url = "http://www.multiclick.co.kr/sub/gamepatch/gamerank.html"
web_page = urllib.request.Request(
        url,
        data = None, 
        headers={'User-Agent': ("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) "
                                "AppleWebKit/537.36 (KHTML, like Gecko) " 
                                "Chrome/35.0.1916.47 Safari/537.36")})
type(web_page)
web_page = urllib.request.urlopen(web_page)

# Parse the page
soup = BeautifulSoup(web_page, "html.parser")
print(soup)

# Get the table
    # Get the columns
    # Get the rows
    # Stack them altogether

# Save it as a csv form

1 Ответ

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

Ais @ mx0 сказал, вместо того, чтобы извлекать страницу mian, получите вызов ajax, например:

import csv
import requests

link = "http://ws.api.thelog.co.kr/service/info/rank/2018-10-18"

req = requests.get(link)
content = req.json()
with open('ranks.csv', 'w', newline='') as csvfile:
    csv_writer = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
    # write column titles
    csv_writer.writerow(['gameRank', 'gameName', 'gameTypeName', 'gameShares', 'publisher', 'gameRankUpDown'])
    # write values
    for row in content["list"]:
        csv_writer.writerow(list(row.values()))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...