教你怎么用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连接mysql并提交mysql事务示例
Mar 05 Python
自动化Nginx服务器的反向代理的配置方法
Jun 28 Python
Python实现配置文件备份的方法
Jul 30 Python
详解python 发送邮件实例代码
Dec 22 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Python用for循环实现九九乘法表
May 31 Python
Python错误处理操作示例
Jul 18 Python
在Python中表示一个对象的方法
Jun 25 Python
如何运行.ipynb文件的图文讲解
Jun 27 Python
python中dict使用方法详解
Jul 17 Python
django2.2安装错误最全的解决方案(小结)
Sep 24 Python
基于Python实现拆分和合并GIF动态图
Oct 22 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
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
php 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
解析用PHP实现var_export的详细介绍
2013/06/20 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
Yii中表单用法实例详解
2016/01/05 PHP
PHP批量删除jQuery操作
2017/07/23 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
JavaScript脚本性能的优化方法
2007/02/02 Javascript
JS仿iGoogle自定义首页模块拖拽特效的方法
2015/02/13 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
p5.js入门教程之小球动画示例代码
2018/03/15 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
[02:51]2014DOTA2 TI小组赛总结中国军团全部进军钥匙球馆
2014/07/15 DOTA
[54:05]DOTA2-DPC中国联赛定级赛 SAG vs iG BO3第一场 1月9日
2021/03/11 DOTA
Python数据结构之翻转链表
2017/02/25 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
高考考python编程是真的吗
2020/07/20 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
Java的接口和C++的虚类的相同和不同处
2014/03/27 面试题
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
协议书的格式
2014/04/23 职场文书
青春无悔演讲稿
2014/05/08 职场文书
2014年医院十一国庆节活动方案
2014/09/15 职场文书
重阳节演讲稿:尊敬帮助老人 弘扬传统美德
2014/09/25 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
2014年质量管理工作总结
2014/12/01 职场文书
具结保证书
2015/01/17 职场文书
董事长新年致辞
2015/07/29 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
Pytorch中使用ImageFolder读取数据集时忽略特定文件
2022/03/23 Python