Я хочу получить все ссылки на каждую статью с этой страницы результатов поиска:
https://www.ncbi.nlm.nih.gov/gds/?term=lung+cancer
Но у меня проблема с получением URL следующей страницы. От <div class="pagination">
, это говорит:
<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 ></a>
Поэтому я использовал python urllib для получения URL следующей страницы, чтобы использовать BeautifulSoup для получения ее содержимого:
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')
Теперь проблема в том, что даже если я изменю номер страницы с 1 на 10, я всегда получаю содержимое страницы 1. Может кто-нибудь сказать мне, что я сделал не так?
Вы должны отправить много данных (сделав запрос POST), чтобы получить следующую страницу. Используйте инструменты разработчика в любом браузере, чтобы проверить, какие данные вам необходимо отправить.
(показаны не все данные)
Других решений пока нет …