使用正则做的一个爬虫小例子
发布时间:2020-12-14 06:12:54 所属栏目:百科 来源:网络整理
导读:from urllib.request import urlopen import re """ 爬虫,爬一个豆瓣网,把爬出来的存储到一个文件 """ def get_request(url): """ 把网址变为源码,因为计算机只能读懂源码,然后吧源码变为utf-8的格式 :param url: :return: """ ret = urlopen(url) retur
from urllib.request import urlopen import re """ 爬虫,爬一个豆瓣网,把爬出来的存储到一个文件 """ def get_request(url): """ 把网址变为源码,因为计算机只能读懂源码,然后吧源码变为utf-8的格式 :param url: :return: """ ret = urlopen(url) return ret.read().decode(‘utf-8‘) def get_findall(s): """ 把源码的utf-8的正则显示出来,满足的就以列表打印出来 :param s: :return: """ ret = re.findall( ‘<div class="item">.*?<div class="pic">.*?<em.*?>(?P<id>d.).*?<span class="title">.*?(?P<name>.*?)</span>‘ ‘.*?<span class="rating_num".*?>(?P<arg>.*?)</span>.*?<span>(?P<cou>.*?)评价</span>‘,s,re.S) return ret def get_ur(w): """ 调用函数。 :param w: :return: """ url = ‘https://movie.douban.com/top250?start=%s&filter=‘ % w ret = get_request(url) ret = get_findall(ret) return ret con = 0 while con < 30: ret = get_ur(con) with open(‘电影‘,‘w‘,encoding=‘utf-8‘) as f: if ret: try: a = tuple(ret) b = list(a) f.write(str(b)) except Exception: print(‘hehe1‘) f.close() print(ret) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |