매김

2017-10-05 3 views
0
I가 검색 결과의 페이지에서 각 기사의 모든 링크를 얻으려면

사용 GEO의 데이터 집합에서 검색 결과의 URL 링크를 가져 오기 : https://www.ncbi.nlm.nih.gov/gds/?term=lung+cancer매김

을하지만 문제는 다음 페이지의 URL을 받고있다. <div class="pagination">에서, 그것은 말한다 : 심지어 내가 경우,

param2=urllib.urlencode({'sid':3,'page':2,'accesskey':'k','id':'EntrezSystem2.PEntrez.Gds.Gds_ResultsPanel.Entrez_Pager.Page'}) 

f2=urllib.urlopen('https://www.ncbi.nlm.nih.gov/gds/?term=lung+cancer',param2) 

soup2 = BeautifulSoup(f2.read(), 'html.parser') 

이제 문제가된다

<a name="EntrezSystem2.PEntrez.Gds.Gds_ResultsPanel.Entrez_Pager.Page" title="Next page of results" class="active page_link next" href="#" sid="3" page="2" accesskey="k" id="EntrezSystem2.PEntrez.Gds.Gds_ResultsPanel.Entrez_Pager.Page">Next &gt;</a> 

그러므로 내가 그 내용을 얻을 수 BeautifulSoup로를 사용하기 위해 다음 페이지의 URL을 검색하는 파이썬 URLLIB을 사용 페이지 번호를 1에서 10으로 변경하면 항상 페이지 1의 내용을 가져옵니다. 누구든지 내가 잘못한 것을 말해 줄 수 있습니까?

답변

0

다음 페이지를 얻으려면 많은 데이터 (POST 요청)를 보내야합니다. 브라우저에서 개발자 도구를 사용하여 전송해야하는 데이터를 확인하십시오.

enter image description here

,

+0

미안 내가 아주 이해가 안 돼요 (모든 데이터가 표시됩니다되지 않음) 당신은 내가 올바른 URL을 추측하기 위해 여러 조합을 시도해야 의미합니까? – paladin

+0

데이터를 가져 오기 위해 '마법'URL을 만들지 않아도되지만'param2 '로 보낼 엄청난 양의 데이터를 탐색해야하는 것 같습니다. 제 생각에는 Selenium 또는 유사한 도구를 사용하는 것이 훨씬 쉬울 것입니다. –

+0

오, 고마워. 나는 그들과 조금 놀아 보겠다. – paladin