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

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)

原文地址:https://www.cnblogs.com/python884/p/9982548.html

时间: 2024-07-31 13:43:27

使用正则做的一个爬虫小例子的相关文章

python3 爬虫小例子

#!/usr/bin/env python# -*- coding: utf-8 -*- import sys,reimport urllib.request,urllib.parse,http.cookiejar class myW3():    def login(self):        'post 数据'        data = {"uid":self.uid,'password':self.password,'actionFlag':'loginAuthenticate

【hadoop】第一个UDF小例子 此博文包含图片 (2013-09-23 19:19:13)

之前做过一个例子,但是有问题,中间因为其他事情给耽搁了,就忘记了,今天帮同事查数据,要写一个UDF,又发现了同一个问题,最终解决了.下边整理一下我的小例子,由于hive表中存放的时间是Long型的字符串,需要将其转化成时间: 1.首先创建一个java项目,根据需要命名. 2.导入hive需要的jar包: 3.在项目中创建一个类,extends UDF:package cn.hive.udf; import java.sql.Date;import java.text.SimpleDateForm

第一个用python3写的爬虫小例子

#!usr/bin/python import urllib.request response = urllib.request.urlopen("http://www.baidu.com"); print (response.read());

nodeJS+bootstarp+mongodb整一个TODO小例子

又是一个简单的小玩意儿, 不过有个大玩意儿,就是nosql的mongodb(文件大小:130M),  你要下载一个mongdodb, 去官方网站下载 安装以后在mongodb的命令行目录下执行 mongod --dbpath=c:\mongodbInfo\ --port 27017 这个命令会在C盘新建一个叫做mongodInfo的目录用来保存mongodb的数据; nodeJS要安装mongodb的依赖库, 通过npm进行安装 npm install mongodb mongodb的API可以

关于ExpandableListView用法的一个简单小例子

喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到android的ExpandableListView,今天研究了一下这个的用法,也参考了很多资料动手写了一个小demo,实现了基本的功能,但界面优化方面做得还不够好,有待改进,素材采用了Q版三国杀武将的图片,很有爱哈哈,下面直接上效果图以及源代码~!                     main.x

webpack简单教程(1)--从零开始搭建一个webpack小例子

基于Windows操作系统下搭建webpack的运行环境,这里采用npm环境,node.js官网下载最新版本的, 这里忽略下载和安装,然后直接运行  Node 环境,如下图所示. 检查一下,node版本和npm工具的版本确保是最新的,这里并不是最新版本的, 如果版本都是最新的,那么就可以来直接搭建webpack一个小demo案例. 1.在F盘中创建一个文件夹webpack 2.在文件夹中创建index.html <!DOCTYPE html> <html lang="en&qu

第一个servlet小例子

1.sendForward.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose

爬虫小例子

package com.textPa.two; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.nio.charset.Charset; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.client.methods.Http

这42个Python小例子,太走心~

告别枯燥,60秒学会一个Python小例子.奔着此出发点,我在过去1个月,将平时经常使用的代码段换为小例子,分享出来后受到大家的喜欢. 一.基本操作 . 1 链式比较 i = 3 print(1 < i < 3)  # False print(1 < i <= 3)  # True 2 不用else和if实现计算器 from operator import * def calculator(a, b, k):     return {         '+': add,