Как обойти ошибку HTTP 403 при очистке CoinGecko с помощью Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как обойти ошибку HTTP 403 при очистке CoinGecko с помощью Python?

Сообщение Anonymous »

Я пытаюсь очистить раздел рынков биткойнов от CoinGecko, используя Python. Однако я продолжаю сталкиваться с ошибкой HTTP 403. Я пробовал использовать библиотеку запросов с настраиваемыми заголовками, чтобы имитировать реальный браузер, но все равно получаю ту же ошибку.
Вот код, который я использую:

Код: Выделить всё

import requests
import pandas as pd

# Base URL for Bitcoin markets on CoinGecko
base_url = "https://www.coingecko.com/en/coins/bitcoin"

# Function to fetch a single page
def fetch_page(url, page):
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
"X-Requested-With": "XMLHttpRequest"
}
response = requests.get(f"{url}?page={page}", headers=headers)
if response.status_code != 200:
print(f"Failed to fetch page {page}: Status code {response.status_code}")
return None
return response.text

# Function to extract market data from a page
def extract_markets(html):
dfs = pd.read_html(html)
return dfs[0] if dfs else pd.DataFrame()

# Main function to scrape all pages
def scrape_all_pages(base_url, max_pages=10):
all_markets = []
for page in range(1, max_pages + 1):
print(f"Scraping page {page}...")
html = fetch_page(base_url, page)
if html is None:
break
df = extract_markets(html)
if df.empty:
break
all_markets.append(df)

return pd.concat(all_markets, ignore_index=True) if all_markets else pd.DataFrame()

# Scrape data and store in a DataFrame
max_pages = 10  # Adjust this to scrape more pages if needed
df = scrape_all_pages(base_url, max_pages)

# Display the DataFrame
print(df)
ошибка:

Код: Выделить всё

Scraping page 1...
Failed to fetch page 1: Status code 403
Empty DataFrame
Columns: []
Index: []
Я также попробовал предлагаемое решение для stackoverflow, но оно не решило проблему.
Может ли кто-нибудь предложить обходной путь или более эффективный способ решения проблемы? очистить эти данные? Любая помощь будет принята с благодарностью. Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ith-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как обойти ошибку HTTP 403 при очистке CoinGecko с помощью Python?
    Anonymous » » в форуме Python
    0 Ответы
    33 Просмотры
    Последнее сообщение Anonymous
  • Selenium WebDriver возвращает пустой DataFrame при очистке CoinGecko в безголовом режиме
    Anonymous » » в форуме Python
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Selenium WebDriver возвращает пустой DataFrame при очистке CoinGecko в безголовом режиме
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как обойти CAPTCHA Google при очистке результатов поиска с помощью Python?
    Anonymous » » в форуме Python
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Как устранить запрещенную ошибку 403 при очистке веб-сайта с помощью PHP Simple HTML DOM Parser?
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»