美文网首页
Python 爬虫零基础教程(4):获取电影天堂最新电影名称

Python 爬虫零基础教程(4):获取电影天堂最新电影名称

作者: v1coder | 来源:发表于2018-11-30 20:54 被阅读0次

    效果图



    电影天堂

    代码:

    #coding:utf-8
    # Filename: print_movies_name.py
    # 获取电影天堂最新电影资源名称
    
    import re
    import requests
    
    
    user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1)'
    headers={"User-Agent": user_agent}
    
    # 定义函数
    def get_name():
        url = 'https://www.dytt8.net/'
        data = requests.get(url, headers = headers).content
        # 把 data 转码
        data1 = data.decode('gbk','ignore').encode('utf-8')
        names = re.findall("最新电影下载</a>]<a href=.+?《(.+?)》", data1, re.S)
        return names  # 返回电影名列表 names
    
    # 把函数的返回值赋值给变量 names
    names = get_name()
    for name in names:
        print('《' + name + '》')
    
    

    知识点

    函数

    函数就是把一段代码写在一起,完成某项特定任务。给这段代码起个名,之后调用这个函数名,就可以运行这段代码。

    函数的好处是一次编写可反复使用。

    函数的基本形式如下:

    def 函数名(参数):
        函数体
    

    Python 定义函数用 def 语句,依次写出函数名、括号、括号中的参数和冒号 :,然后,在缩进块中编写函数体。函数可以没有参数。示例:

    # 没参数的函数
    def say_hello():
        print 'Hello World!'
        
    # 有参数的函数
    def say_hello2(name):
        print('hello ' + name)
    

    函数的返回值

    多数函数运行之后会返回一个结果,这个结果就是返回值。函数的返回值用 return 语句返回。

    # 定义函数,函数名为 get_data
    def get_data():
        url = 'https://www.dytt8.net/'
        data = requests.get(url, headers = headers).content
        # 返回网页数据 data
        return data
    

    函数的调用

    函数调用遵循先定义后调用的原则。

    调用方法是在代码中写出 函数名+括号+参数。示例:

    # 运行函数get_name()
    get_name()
    
    # 运行函数get_name(),把运行结果赋值给 names
    names = get_name()
    

    字符串的编码

    如果在 Python2 中使用中文,就需要在代码首行或第2行写上

    #coding:utf-8
    

    这行注释是为了告诉Python解释器,按照UTF-8编码格式读取源代码。

    我们还需要将 requests.get 得到的数据转换为 utf-8 编码格式

    Python2 使用unicode类型作为编码的基础类型。因此在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码格式的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码格式。

         decode              encode
    str ---------> unicode --------->str
    
    data1 = data.decode('gbk','ignore').encode('utf-8')
    # 字符集 GBK 兼容 GB2312
    # 先将gbk型转换为 unicode,再将 nnicode 转换为 utf-8
    # 'ignore' 表示忽略有异常的编码,仅显示有效的编码
    

    转码的时候一定要先搞明白,字符串是什么编码格式。查看网页编码方式:

    查看网页源代码,charset= 后面的就是。


    这是教程的第五篇了,是不是感觉啰嗦且无趣。

    刚开始我们以详细为主,后面会加快速度,并增加有趣的东西。


    教程目录:
    0.《简介及准备》
    1.《爬单个图片》
    2.《下载一组网页上的图片》
    3.《输出一个网页上的文字》
    4.《获取电影天堂最新电影名称》
    5.《糗事百科爬虫》

    20181130

    相关文章

      网友评论

          本文标题:Python 爬虫零基础教程(4):获取电影天堂最新电影名称

          本文链接:https://www.haomeiwen.com/subject/bjrkcqtx.html