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 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 #-*_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('(<li class="list_item".*?</li>)',source,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
def saveinfo(self,classinfo):
f = open('info.txt','a')
str2 = "http://apk.hiapk测试数据"
for each in classinfo:
f.write(str2)
f.writelines(each['app_url'] + '\n')
f.close()
if __name__ == '__main__':
appinfo = []
url = 'http://apk.hiapk测试数据/apps/MediaAndVideo?sort=5&pi=1'
appurl = spider()
all_links = appurl.changepage(url, 5)
for link in all_links:
print u'正在处理页面' + link
html = appurl.getsource(link)
every_app = appurl.geteveryapp(html)
for each in every_app:
info = appurl.getinfo(each)
appinfo.append(info)
appurl.saveinfo(appinfo) 总结
选取的目标网页相对结构清晰简单,这是一个比较基本的爬虫。代码写的比较乱请见谅,以上就是这篇文章的全部内容了,希望能对大家的学习或者工作带来一定的帮助,如果有问题大家可以留言交流。
更多Python爬取APP下载链接的方法相关文章请关注PHP中文网!
查看更多关于Python爬取APP下载链接的方法的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did82726