教你怎么用python爬取爱奇艺热门电影


Posted in Python onMay 20, 2021

一、首先我们要找到目标

找到目标先分析一下网页(url:https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi?.html),很幸运这个只有一个网页,不需要翻页。

教你怎么用python爬取爱奇艺热门电影

二、F12查看网页源代码

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

教你怎么用python爬取爱奇艺热门电影

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

'''
爬取爱奇艺电影与地址路径

操作步骤
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("下载完成")

四、查看现象

教你怎么用python爬取爱奇艺热门电影
教你怎么用python爬取爱奇艺热门电影

到此这篇关于教你怎么用python爬取爱奇艺热门电影的文章就介绍到这了,更多相关python爬取电影内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python利用splinter实现浏览器自动化操作方法
May 11 Python
tensorflow实现简单的卷积网络
May 24 Python
Python 爬取携程所有机票的实例代码
Jun 11 Python
python语言基本语句用法总结
Jun 11 Python
使用python将mysql数据库的数据转换为json数据的方法
Jul 01 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
Python3.7实现验证码登录方式代码实例
Feb 14 Python
完美解决python针对hdfs上传和下载的问题
Jun 05 Python
基于opencv的selenium滑动验证码的实现
Jul 24 Python
python实现学生管理系统开发
Jul 24 Python
彻底解决pip下载pytorch慢的问题方法
Mar 01 Python
python 如何在 Matplotlib 中绘制垂直线
Apr 02 Python
Pytorch使用shuffle打乱数据的操作
May 20 #Python
教你利用Selenium+python自动化来解决pip使用异常
python 提取html文本的方法
May 20 #Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
pytorch 带batch的tensor类型图像显示操作
pytorch 中nn.Dropout的使用说明
May 20 #Python
Python 线程池模块之多线程操作代码
May 20 #Python
You might like
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
PHP使用Mysql事务实例解析
2014/09/08 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
PHP基于递归实现的约瑟夫环算法示例
2017/08/27 PHP
php无限级评论嵌套实现代码
2018/04/18 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
倒记时60刷新网页的js代码
2014/02/18 Javascript
JavaScript使用cookie记录临时访客信息的方法
2015/04/07 Javascript
jQuery实现的手机发送验证码倒计时效果代码分享
2015/08/24 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
2017/08/08 Javascript
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
python 地图经纬度转换、纠偏的实例代码
2018/08/06 Python
Python 多维List创建的问题小结
2019/01/18 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
python GUI库图形界面开发之PyQt5结合Qt Designer创建信号与槽的详细方法与实例
2020/03/08 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
Python中常用的os操作汇总
2020/11/05 Python
Python爬虫之Selenium库的使用方法
2021/01/03 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
2021/02/26 Python
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
环境科学专业大学生自荐信格式
2013/09/21 职场文书
学生个人总结范文
2015/02/15 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
Java使用JMeter进行高并发测试
2021/11/23 Java/Android