복붙노트

[PYTHON] 파이썬으로 rss 리다이렉트하기 / urllib2

PYTHON

파이썬으로 rss 리다이렉트하기 / urllib2

RSS 피드에서 가져온 기사에 대한 링크에서 urrlib2.urlopen을 호출하면 다음 오류가 발생합니다.

문서에 따르면 urllib2는 리디렉션을 지원합니다.

Java에서 문제는 단지 호출하여 해결되었습니다.

HttpURLConnection.setFollowRedirects (true);

파이썬으로 어떻게 해결할 수 있습니까?

최신 정보

문제가있는 링크 :

http://feeds.nytimes.com/click.phdo?i=8cd5af579b320b0bfd695ddcc344d96c

해결법

  1. ==============================

    1.Cookie를 사용하도록 설정해야합니다. 쿠키를 먼저 설정하면 페이지가 자동으로 리디렉션됩니다. urllib2는 기본적으로 쿠키를 처리하지 않으므로 직접 처리해야합니다.

    Cookie를 사용하도록 설정해야합니다. 쿠키를 먼저 설정하면 페이지가 자동으로 리디렉션됩니다. urllib2는 기본적으로 쿠키를 처리하지 않으므로 직접 처리해야합니다.

    import urllib2
    import urllib
    from cookielib import CookieJar
    
    cj = CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
    p = opener.open("http://feeds.nytimes.com/click.phdo?i=8cd5af579b320b0bfd695ddcc344d96c")
    
    print p.read()
    
  2. ==============================

    2.@ sleeplessnerd의 해결책에는 아무런 문제가 없지만, 이것은 매우 조금 더 우아합니다.

    @ sleeplessnerd의 해결책에는 아무런 문제가 없지만, 이것은 매우 조금 더 우아합니다.

    import urllib2
    url = "http://stackoverflow.com/questions/9926023/handling-rss-redirects-with-python-urllib2"
    p = urllib2.build_opener(urllib2.HTTPCookieProcessor).open(url)
    
    print p.read()
    

    실제로, CookieJar () 함수에 대한 인라인 문서를 살펴보면, 이런 식으로 일을하는 것이 더 많거나 적다는 것을 알 수 있습니다 :

    이 클래스에 대해 알 필요가 없을 수도 있습니다. urllib2.build_opener (HTTPCookieProcessor) .open (url)

  3. from https://stackoverflow.com/questions/9926023/handling-rss-redirects-with-python-urllib2 by cc-by-sa and MIT license