爬取小米ROM

from urllib.request import urlopen

import re

from bs4 import BeautifulSoup

f = open('News_MIUIROM.txt','w',encoding='utf-8') #打印ROM版本到News_MIUIROM.txt文档

j = 330

#获取URL方法

def get_url():

    url = 'http://www.miui.com/download-'+str(j+x)+'.html'

    return url

#获取ROM信息方法

def get_romnews():

    html = urlopen(get_url())  # 访问小米ROM网址

    content = html.read().decode('utf-8')  #以utf-8 字节码编译 网页信息

    content = BeautifulSoup(content, 'html.parser') #bs4对网页编码进行整理

    content = content.find_all("a", class_="route_a d2r") #获取ROM信息

    content = str(content)  #转化成字符串

    Rom_download = re.search('http(.*?)zip',content).group(0) #使用正则表达式截取ROM下载地址

    print(Rom_download)

    Rom_version= re.search('m/(.*?)/m',Rom_download).group(1) #获取ROM版本信息

    print(Rom_version)

    return Rom_download,Rom_version

#循环写入ROM信息

for x in range(0,10):

    try:

        a ,b = get_romnews()

    except AttributeError:

        print('无此网页')  #异常处理

        continue

    else:

        f.write('ROM下载地址:' + a + '\n')

        f.write('ROM版本信息:' + b + '\n')

f.close()

你可能感兴趣的:(爬取小米ROM)