• 카테고리

    질문 & 답변
  • 세부 분야

    업무 자동화

  • 해결 여부

    해결됨

7.1 야후 파이낸스 크롤링 request 오류

23.04.28 07:31 작성 조회수 491

0

혹시 못보셨나 해서 다시 올립니다.

7.1 진행중에 request 오류가 나서

기존 질문 답변보고

강의노트에 있는 헤더 넣어서 request.get 했는데도

response 404가 나옵니다.

 

아래는 제가 실행했던 코드 입니다.

 

===================================================

 

# import

import requests

import bs4

import time

import random

import numpy as np

import pandas as pd


from IPython.core.interactiveshell import InteractiveShellInteractiveShell.ast_node_interactivity = "all"
pd.set_option('display.float_format', lambda x: '%.3f' % x)pd.set_option('display.max_columns', None)

 

url = "https://finance.yahoo.com/quote/AAPL/history?period1=1581206400&period2=1612828800&interval=1d&filter=history&frequency=1d&includeAdjustedClose=true"

headers = {

"cache-control": "max-age=0",

"sec-ch-ua": 'Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99',

"sec-ch-ua-mobile": "?0",

"sec-ch-ua-platform": "macOS",

"sec-fetch-dest": "document",

"sec-fetch-mode": "navigate",

"sec-fetch-site": "same-origin",

"sec-fetch-user": "?1",

"upgrade-insecure-requests": "1",

"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36",

}

 

requests.get(url, headers)

=================================================

상기 내용이 미결이라 진도를 나아가지 못하고 있습니다.

혹시 7.1 ~ 7.3 그냥 넘기고 바로 8로 넘어가도 문제 없을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요. 답이 정말 늦어 죄송합니다.

requests.get(url, headers) --> requests.get(url, headers=headers) 로 변경시 잘 작동할것입니다.

jupyter or ipython terminal에 requests.get?을 하면 두번ㅉ ㅐargument가 headers가 아닌 params이기 때문에, headers=headers으로 명시하지않으면 headers가 params에 들어가게 되서 의도치 않는 결과가 나온 것입니다.

최근에 바쁜일이 좀 있었어서, 답변을 드리기가 어려웠습니다.

가급적 늦어도 2~3일 내로 답변드릴 수 있게 하겠습니다.

궁금하신점이 있으면 언제든 질문 남겨주세요