加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用正则做的一个爬虫小例子

发布时间: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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读