教你怎么用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系列之从文件读取和保存数据
May 23 Python
Python计时相关操作详解【time,datetime】
May 26 Python
简单实现python数独游戏
Mar 30 Python
django启动uwsgi报错的解决方法
Apr 08 Python
Flask框架WTForm表单用法示例
Jul 20 Python
python生成器与迭代器详解
Jan 01 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
详解python中自定义超时异常的几种方法
Jul 29 Python
Python迭代器模块itertools使用原理解析
Dec 11 Python
python内打印变量之%和f的实例
Feb 19 Python
什么是python的自省
Jun 21 Python
Python调用C/C++的方法解析
Aug 05 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
PHP分页显示制作详细讲解
2006/10/09 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
WordPress迁移时一些常见问题的解决方法整理
2015/11/24 PHP
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
javaScript arguments 对象使用介绍
2013/10/18 Javascript
js日期对象兼容性的处理方法
2014/01/28 Javascript
jQuery 插件封装的方法
2016/11/16 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
javascript中的隐式调用
2018/02/10 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
vue中element-ui表格缩略图悬浮放大功能的实例代码
2018/06/26 Javascript
JavaScript 点击触发复制功能实例详解
2018/11/02 Javascript
最简单的JS实现json转csv的方法
2019/01/10 Javascript
Python中内置数据类型list,tuple,dict,set的区别和用法
2015/12/14 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
python dlib人脸识别代码实例
2019/04/04 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
对Python中class和instance以及self的用法详解
2019/06/26 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
TensorFlow查看输入节点和输出节点名称方式
2020/01/04 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
解决pycharm每次打开项目都需要配置解释器和安装库问题
2020/02/26 Python
python中判断文件结束符的具体方法
2020/08/04 Python
文明礼仪事迹材料
2014/01/09 职场文书
商场总经理岗位职责
2014/02/03 职场文书
外贸会计专业自荐信
2014/06/22 职场文书
依法行政工作汇报
2014/10/28 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
2016年教师政治思想表现评语
2015/12/02 职场文书
2016应届大学生自荐信模板
2016/01/28 职场文书
教师师德承诺书2016
2016/03/25 职场文书
Python字符串格式化方式
2022/04/07 Python