Le premier est le travail de préparation
Python 2.7.11 : Télécharger python
Pycharm : Télécharger Pycharm
où python2 et python3 est actuellement une version synchrone, j'utilise python2 comme environnement ici. Pycharm est un IDE Python relativement efficace, mais il nécessite un paiement.
Idée de base de la mise en œuvre
Tout d'abord, notre site Web cible : Android Market
Cliquez sur [Application] pour accéder à nos pages clés :
Après avoir accédé à l'interface de l'application, nous devons faire attention à trois endroits. La case rouge dans l'image ci-dessous indique :
<.>Faites d'abord attention à l'URL dans la barre d'adresse, puis faites attention au bouton de téléchargement gratuit, puis faites attention aux options de changement de page en bas. En cliquant sur le bouton « Téléchargement gratuit », vous téléchargerez immédiatement l'application correspondante. Notre idée est donc d'obtenir le lien de téléchargement et de télécharger l'application directement.Écrire un robot
Le premier point à résoudre : Comment obtenir le lien de téléchargement mentionné ci-dessus ? Ici, je dois présenter les principes de base de la façon dont les navigateurs affichent les pages Web. Pour faire simple, le navigateur est un outil similaire à un analyseur. Lorsqu'il obtient du HTML et d'autres codes, il analyse et restitue selon les règles correspondantes, afin que nous puissions voir la page. J'utilise Google Chrome ici. Faites un clic droit sur la page et cliquez sur "Inspecter" pour voir le code HTML original de la page Web : Regardez. Ne vous inquiétez pas si vous rencontrez des codes HTML éblouissants. L'élément de révision de Google Chrome a une petite fonction utile qui peut nous aider à localiser le code HTML correspondant au contrôle de page Emplacement :Comme le montre l'image ci-dessus, cliquez sur la petite flèche dans la case rectangulaire ci-dessus, cliquez sur la position correspondante sur la page, et le code HTML à droite sera automatiquement positionné et mis en surbrillance. Ensuite nous localisons le code HTML correspondant au bouton de téléchargement : Vous pouvez voir que dans le code correspondant au bouton, il y a un téléchargement correspondant lien : [/appdown/com.tecent.mm], plus le préfixe, le lien de téléchargement complet est
http://apk.hiapk.com/appdown/com.tecent.mm
Utilisez d'abord python. Il est très simple d'obtenir le HTML de la page entière, il suffit d'utiliser "" et de renseigner l'URL correspondante. requests.get(url)
def geteveryapp(self,source): everyapp = re.findall('(<li class="list_item".*?</li>)',source,re.S) #everyapp2 = re.findall('(<p class="button_bg button_1 right_mt">.*?</p>)',everyapp,re.S) return everyapp
def getinfo(self,eachclass): info = {} str1 = str(re.search('<a href="(.*?)">', eachclass).group(0)) app_url = re.search('"(.*?)"', str1).group(1) appdown_url = app_url.replace('appinfo', 'appdown') info['app_url'] = appdown_url print appdown_url return info
豁然开朗,我们可以在每次的请求中替换URL中对应的id值实现翻页。
def changepage(self,url,total_page): now_page = int(re.search('pi=(\d)', url).group(1)) page_group = [] for i in range(now_page,total_page+1): link = re.sub('pi=\d','pi=%s'%i,url,re.S) page_group.append(link) return page_group
爬虫效果
关键位置说完了,我们先看下最后爬虫的效果:
在TXT文件中保存结果如下:
直接复制进迅雷就可以批量高速下载了。
附上全部代码
#-*_coding:utf8-*- import requests import re import sys reload(sys) sys.setdefaultencoding("utf-8") class spider(object): def __init__(self): print u'开始爬取内容' def getsource(self,url): html = requests.get(url) return html.text def changepage(self,url,total_page): now_page = int(re.search('pi=(\d)', url).group(1)) page_group = [] for i in range(now_page,total_page+1): link = re.sub('pi=\d','pi=%s'%i,url,re.S) page_group.append(link) return page_group def geteveryapp(self,source): everyapp = re.findall('(
总结
选取的目标网页相对结构清晰简单,这是一个比较基本的爬虫。代码写的比较乱请见谅,以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有问题大家可以留言交流。
更多Méthode Python pour explorer le lien de téléchargement de lapplication相关文章请关注PHP中文网!