아래 코드를 사용하여 다음 페이지에서 독자 의견을 추출하려고합니다. 그러나 출력 html test.html 에는 페이지의 주석이 포함되어 있지 않습니다. 파이썬으로이 정보를 어떻게 얻습니까?
from bs4 import BeautifulSoup
import urllib
import urllib.request
import urllib.parse
req =urllib.request.Request('http://www.theglobeandmail.com/opinion/it-doesnt-matter-who-won-the-debate-america-has-already-lost/article32314064/comments/')
response = urllib.request.urlopen(req)
the_page = response.read()
soup = BeautifulSoup(the_page, 'html.parser')
f = open('test.html', 'w')
f.write(soup.prettify())
f.close()
감사!
주석은 모방 할 수있는 ajax 요청을 사용하여 검색됩니다.
수많은 매개 변수가 있음을 알 수 있지만, 아래 내용은 결과를 얻기에 충분합니다. 결과에 영향을 미칠 수있는 방법을 알아 내기 위해 맡기겠습니다.
from json import loads
from urllib.request import urlopen
from urllib.parse import urlencode
data = {"categoryID":"Production",
"streamID":"32314064",
"APIKey":"2_oNjjtSC8Qc250slf83cZSd4sbCzOF4cCiqGIBF8__5dWzOJY_MLAoZvds76cHeQD",
"callback" :"foo",}
r = urlopen("http://comments.us1.gigya.com/comments.getComments", data=urlencode(data).encode("utf-8"))
json_dcts = loads(r.read().decode("utf-8"))["comments"]
print(json_dcts)
그것은 당신에게 모든 코멘트, upvotes, negvotes 등을 담은 dicts의 목록을 제공합니다. 만약 당신이 키를 파싱하기를 원한다면 그것은 th scripts 중 하나의 url에 있고 src='https://cdns.gigya.com/js/socialize.js?apiKey=2_oNjjtSC8Qc250slf83cZSd4sbCzOF4cCiqGIBF8__5dWzOJY_MLAoZvds76cHeQD'
, streamID 는 당신의 원래 url에 있습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다