python 正则抓取百度贴吧帖子数和关注度

来源:互联网 发布:mac 改键位 编辑:程序博客网 时间:2024/06/05 17:11

获取了全国地级市保存到文档中。如下列格式

上海上饶东方
通过python 读取文件列表生成url,抓取贴吧,通过正则表达式获取的帖子数和关注度。

# -*- coding: utf-8 -*-import reimport urllibimport urllib.requestfrom urllib import parsefrom html.parser import HTMLParserimport sysurl_begin = 'https://tieba.baidu.com/f?kw='url_end = '&ie=utf-8'# 读取地级市名称,转换为贴吧地址def get_url(file):    list = []    with open(file, 'r') as f:        for line in f:            line = line.strip('\n')            key = parse.quote(line)  # 网页编码格式            url = url_begin + key + url_end            list.append(url)        return list# 获取网页htmldef gethtml(url):    page = urllib.request.urlopen(url)    html = page.read()    html=html.decode('utf-8')    return html# 利用正则表达式获取关注、帖子def getstr(html):    r1 = r'<span class="card_menNum">(.*)</span>'  # 关注    fo1 = re.compile(r1)    str1 = fo1.findall(html)    r2 = r'<span class="card_infoNum">(.*)</span>'  # 帖子数量    fo2 = re.compile(r2)    str2 = fo2.findall(html)    return str1,str2url_list = get_url('city_new.txt')for url in url_list:    html=gethtml(url)    num=getstr(html)    print(num)


原创粉丝点击