教你怎么用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 相关文章推荐
Django内容增加富文本功能的实例
Oct 17 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
python去掉 unicode 字符串前面的u方法
Oct 21 Python
Python脚本按照当前日期创建多级目录
Mar 01 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
Apr 18 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
Python中断多重循环的思路总结
Oct 04 Python
使用pytorch完成kaggle猫狗图像识别方式
Jan 10 Python
python实现密码验证合格程序的思路详解
Jun 01 Python
Python select及selectors模块概念用法详解
Jun 22 Python
python如何利用Mitmproxy抓包
Oct 10 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
如何使用PHP批量去除文件UTF8 BOM信息
2013/08/05 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
js活用事件触发对象动作
2008/08/10 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
js中继承的几种用法总结(apply,call,prototype)
2013/12/26 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
在jQuery中处理XML数据的大致方法
2015/08/14 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
p5.js入门教程之图片加载
2018/03/20 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
微信小程序 拍照或从相册选取图片上传代码实例
2019/08/28 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
javascript 关于赋值、浅拷贝、深拷贝的个人理解
2019/11/01 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
微信小程序实现通讯录列表展开收起
2020/11/18 Javascript
[07:55]2014DOTA2 TI正赛第三日 VG上演推进荣耀DKEG告别
2014/07/21 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
Python3连接MySQL(pymysql)模拟转账实现代码
2016/05/24 Python
详解基于django实现的webssh简单例子
2018/07/17 Python
pytorch 数据集图片显示方法
2018/07/26 Python
python把1变成01的步骤总结
2019/02/27 Python
Django 开发调试工具 Django-debug-toolbar使用详解
2019/07/23 Python
opencv 阈值分割的具体使用
2020/07/08 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
Interflora澳大利亚:同日鲜花速递
2019/06/25 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
How TDD works
2012/09/30 面试题
班组建设经验交流材料
2014/05/12 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
Python List remove()实例用法详解
2021/08/02 Python