Je veux obtenir tous les liens de chaque article de cette page des résultats de recherche: https://www.ncbi.nlm.nih.gov/gds/?term=lung+cancerObtenir des liens url de résultats de recherche de GEO DataSets en utilisant la pagination
Mais j'ai problème à obtenir l'url de la page suivante. De <div class="pagination">
, il dit:
<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>
donc j'ai utilisé urllib python pour récupérer l'URL de la page suivante afin d'utiliser BeautifulSoup pour obtenir son contenu:
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')
Maintenant, le problème est, même si je changer le numéro de page de 1 à 10, je reçois toujours le contenu de la page 1. Quelqu'un peut-il me dire ce que j'ai mal fait?
Désolé, je ne comprends pas bien, voulez-vous dire que je dois essayer plusieurs combinaisons de deviner l'URL correcte? – paladin
Je veux dire que vous n'avez pas besoin de construire une URL 'magique' pour récupérer vos données, mais il semble que vous deviez explorer une énorme quantité de données à envoyer dans 'param2'. À mon avis, il sera très facile d'utiliser Selenium ou un outil similaire. –
Oh merci, je vais essayer de jouer avec eux un peu. – paladin