教你怎么用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实现查找系统盘中需要找的字符
Jul 14 Python
Python找出9个连续的空闲端口
Feb 01 Python
浅谈python jieba分词模块的基本用法
Nov 09 Python
python中的turtle库函数简单使用教程
Jul 23 Python
设置python3为默认python的方法
Oct 31 Python
windows下numpy下载与安装图文教程
Apr 02 Python
Python中的 is 和 == 以及字符串驻留机制详解
Jun 28 Python
python 实现单通道转3通道
Dec 03 Python
在python shell中运行python文件的实现
Dec 21 Python
浅谈keras中的keras.utils.to_categorical用法
Jul 02 Python
Python利用机器学习算法实现垃圾邮件的识别
Jun 28 Python
Python干货实战之八音符酱小游戏全过程详解
Oct 24 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
DSP接收机前端设想
2021/03/02 无线电
php连接MSsql server的五种方法总结
2018/03/04 PHP
php 后端实现JWT认证方法示例
2018/09/04 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
我的javascript 函数链之演变
2011/04/07 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
JavaScript新增样式规则(推荐)
2016/07/19 Javascript
详解如何将 Vue-cli 改造成支持多页面的 history 模式
2017/11/20 Javascript
Rollup处理并打包JS文件项目实例代码
2018/05/31 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
[03:51]吞吞映像 每周精彩击杀top10第二弹
2014/06/25 DOTA
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
python抓取网页时字符集转换问题处理方案分享
2014/06/19 Python
深入Python解释器理解Python中的字节码
2015/04/01 Python
Django中的Model操作表的实现
2018/07/24 Python
利用python在excel里面直接使用sql函数的方法
2019/02/08 Python
python函数的作用域及关键字详解
2019/08/20 Python
python实现超市商品销售管理系统
2019/10/25 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
如何写毕业求职自荐信
2013/11/06 职场文书
行政经理岗位职责
2013/11/09 职场文书
亲子活动总结
2014/04/26 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript