纯净、安全、绿色的下载网站

首页

当前位置:首页IT学院IT技术

Python爬取电影 Python趣味爬虫之爬取爱奇艺热门电影

yunyun云芸   2021-06-06 我要评论
想了解Python趣味爬虫之爬取爱奇艺热门电影的相关内容吗yunyun云芸在本文为您仔细讲解Python爬取电影的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python爬取电影,python爬虫下面大家一起来学习吧

一、首先我们要找到目标

找到目标先分析一下网页很幸运这个只有一个网页不需要翻页

在这里插入图片描述

二、F12查看网页源代码

找到目标分析如何获取需要的数据找到href与电影名称

在这里插入图片描述

三、进行代码实现获取想要资源

'''
操作步骤
1获取到url内容
 
2,css选择其选择内容
 
3保存自己需要数据
 
'''
#导入爬虫需要的包
import requests
from bs4 import BeautifulSoup
#requests与BeautifulSoup用来解析网页的
import time
#设置访问网页时间防止自己IP访问多了被限制拒绝访问
import re
class Position():
 
    def __init__(self,position_name,position_require,):#构建对象属性
        self.position_name=position_name
        self.position_require=position_require
 
    def __str__(self):
        return '%s%s/n'%(self.position_name,self.position_require)#重载方法将输入变量改成字符串形式
 
class Aiqiyi():
    def iqiyi(self,url):
        head= {
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
        }  #模拟的服务器头
        html = requests.get(url,headers=head)
        #headers=hard 让脚本以浏览器的方式去访问有一些网址禁止以python的反爬机制这就是其中一个
        soup = BeautifulSoup(html.content, 'lxml', from_encoding='utf-8')  # BeautifulSoup打看网页
        soupl = soup.select(".qy-list-wrap")  # 查找标签用css选择器选择自己需要数据 进行选择页面第一次内容(标签要找到唯一的找id好如果没有考虑其他标签如class)
        results = []  # 创建一个列表用来存储数据
        for e in soupl:
            biao = e.select('.qy-mod-li')  # 进行二次筛选
            for h in biao:
                p=Position(h.select_one('.qy-mod-link-wrap').get_text(strip=True),
                       h.select_one('.title-wrap').get_text(strip=True))#调用类转换(继续三次筛选选择自己需要内容)
                results.append(p)
        return results  # 返回内容
 
    def address(self,url):
        #保存网址
        head = {
            'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36 Edg/87.0.664.47"
        }  # 模拟的服务器头
        html = requests.get(url, headers=head)
        soup = BeautifulSoup(html.content, 'lxml', from_encoding='utf-8')  # BeautifulSoup打看网页
        alist = soup.find('div', class_='qy-list-wrap').find_all("a")  # 查找div块模块下的  a标签
        ls=[]
        for i in alist:
            ls.append(i.get('href'))
 
        return ls
 
 
 
if __name__ == '__main__':
    time.sleep(2)
    #设置2秒访问一次
    a=Aiqiyi()
    url = "https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi--.html"
    with open(file='e:/练习.txt ', mode='a+') as f:  # e:/练习.txt 为我电脑新建的文件a+为给内容进行添加但不进行覆盖原内容
         for item in a.iqiyi(url):
             line = f'{item.position_name}\t{item.position_require}\n'
             f.write(line)  # 采用方法
             print("下载完成")
    with open(file='e:/地址.txt ', mode='a+') as f:  # e:/练习.txt 为我电脑新建的文件a+为给内容进行添加但不进行覆盖原内容
        for item in a.address(url):
            line=f'https{item}\n'
            f.write(line)  # 采用方法
            print("下载完成")

四、查看现象

在这里插入图片描述
在这里插入图片描述


相关文章

猜您喜欢

  • C语言五子棋游戏 用C语言实现五子棋游戏

    想了解用C语言实现五子棋游戏的相关内容吗Enthusiastic_boy在本文为您仔细讲解C语言五子棋游戏的相关知识和一些Code实例欢迎阅读和指正我们先划重点:C语言,五子棋下面大家一起来学习吧..
  • C语言三子棋 用C语言实现三子棋

    想了解用C语言实现三子棋的相关内容吗SSnnX在本文为您仔细讲解C语言三子棋的相关知识和一些Code实例欢迎阅读和指正我们先划重点:C语言,三子棋下面大家一起来学习吧..

网友评论

Copyright 2022 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们