返回信息流1、网页中无明显的版本号:
携程官网url=http://app.ctrip.com/#ctm_ref=sbr_hp_nav_app_txt_24
如何通过爬虫获取Android、iphone等各版本号
2、网页中有明显的版本号:大众点评url=http://www.dianping.com/events/m/index.htm
是不是直接正则匹配就行呢?
# -*- coding: cp936 -*-
import sys,urllib2,cookielib,re
url="http://www.dianping.com/events/m/index.htm"
print '第一种方法'
response1=urllib2.urlopen(url)
result=response1.getcode()
html=response1.read()
print result
print len(html)
print re.findall(r'\d+(\.\d+)+',html)
但是出来的结果却是(网页上看到的版本是7.9.6):
>>>
第一种方法
200
21207
['.6', '.6', '.3', '.2', '.6', '.5', '.7']
>>>
这是一条镜像帖。来源:北邮人论坛 / python / #11665同步于 2016/1/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【求助】如何从软件的官网爬取软件各平台的版本信息
fenstart
2016/1/17镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
BeautifulSoup很方便。试试看:
(另外,请用Python3)
with open("dazhongdianping.html") as f:
html = f.read();
# 以上只是测试用,请用你的方法下载真的网页,你懂的。
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, "html.parser")
# <h4>里面的文本:
print(soup.h4.text)
import re
# 解析版本
pat = re.compile(r"(\d+)\.(\d+)\.(\d+)")
ver = pat.findall(soup.h4.text)[0]
print(ver)
print("Major: {}, minor: {}, micro: {}".format(ver[0], ver[1], ver[2]))
输出:
大众点评7.9.6
('7', '9', '6')
Major: 7, minor: 9, micro: 6
非常感谢!楼上给的方法能解决网页有明显版本的情况了[em68]~~~但如果像携程网页中没有标明版本,而是点击对应的平台按钮就下载了,这种情况该如何获取版本号呢?不知有啥建议不