2016-01-14 2 views
1

Je suis actuellement en utilisant mécaniser pour naviguer automatiquement un lien à partir d'un site Web. Le problème est mécaniser ne peut pas trouver tout le lien dans mon site Web. Quand je l'utilise:trouver des liens dans mechanize python

>>> import mechanize 
>>> web = mechanize.Browser() 
>>> r = web.open('http://torrent.ajee.sh/hash.php?hash=ee59bf932540976857c38eee56e2a598154a9963') 
>>> print r.read() 

il imprime en fait ce:

Adulterers.2015.HDRip.XviD.AC3-EVO (1.38 GB)<br/>Files: <br/>O <a href='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=0' target='_top' >Adulterers.2015.HDRip.XviD.AC3-EVO.avi </a> (1.4 GB) -- (<font color=''>100% </font> Cached)<br/>O <a href='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=1' target='_top' >Adulterers.2015.HDRip.XviD.AC3-EVO.nfo </a> (2 KB) -- (<font color=''>100% </font> Cached)<br/>O <a href='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=3' target='_top' >sample.avi </a> (16.1 MB) -- (<font color=''>100% </font> Cached)<br/>O <a href='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=2' target='_top' >Torrent Downloaded From ExtraTorrent.cc.txt </a> (338 B) -- (<font color=''>100% </font> Cached)<br/><br/><br/><a href='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=zip' target='_top'>Download Zip</a> (1.38 GB)<br/><br/> If Download links not working, then Try again after few mints, <b>Files are been Cached(100%)</b>.<br/><br/> 

et il y a tout à fait 5 liens qu'il contient!

mais quand je l'utilise:

print list(web.links()) 

ne contient que le premier maillon de cette source! quel est le problème?

[Link(base_url='http://torrent.ajee.sh/hash.php?hash=ee59bf932540976857c38eee56e2a598154a9963', url='/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=0', text='Adulterers.2015.HDRip.XviD.AC3-EVO.avi', tag='a', attrs=[('href', '/file.php?hash=ee59bf932540976857c38eee56e2a598154a9963&file=0'), ('target', '_top')])] 

désolé pour mon anglais!

Répondre

0

Vous devez itérer sur les liens:

for link in web.links(): 
    print(link.text, link.url) 

liens() est un générateur et vous donne le lien suivant chaque fois que vous demandez un autre lien.

+0

oui mais il n'y a qu'un lien dans web.links() – tuankhoa1996

+1

Eh bien désolé mate, ça ressemble à un problème avec le site. Le code lui-même fait ce qu'il devrait sur d'autres sites. Vous voudrez peut-être regarder [beautifulsoup] (http://www.crummy.com/software/BeautifulSoup/bs4/doc/) pour de tels cas –