教你怎么用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实现k均值算法示例(k均值聚类算法)
Mar 16 Python
Python下的subprocess模块的入门指引
Apr 16 Python
利用python爬取软考试题之ip自动代理
Mar 28 Python
Python装饰器用法示例小结
Feb 11 Python
Python 实现在文件中的每一行添加一个逗号
Apr 29 Python
python+selenium打印当前页面的titl和url方法
Jun 22 Python
Python 一句话生成字母表的方法
Jan 02 Python
Python Django的安装配置教程图文详解
Jul 17 Python
python pycharm最新版本激活码(永久有效)附python安装教程
Sep 18 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
详解Python利用configparser对配置文件进行读写操作
Nov 03 Python
python各种excel写入方式的速度对比
Nov 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
深入Memcache的Session数据的多服务器共享详解
2013/06/13 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
一个完整的php文件上传类实例讲解
2015/10/27 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
2018/09/26 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
jquery实现鼠标拖动图片效果示例代码
2014/01/09 Javascript
jQuery Ajax()方法使用指南
2014/11/19 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
JavaScript Split()方法
2015/12/18 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
vue 本地服务不能被外部IP访问的完美解决方法
2018/10/29 Javascript
javascript+css实现进度条效果
2020/03/25 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
视觉直观感受若干常用排序算法
2017/04/13 Python
关于Python数据结构中字典的心得
2017/12/04 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python实现猜数字小游戏
2020/03/24 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
工程师必须了解的LRU缓存淘汰算法以及python实现过程
2020/10/15 Python
CSS3 Notes: -webkit-box-reflect实现倒影的实例
2016/12/08 HTML / CSS
Jacadi Paris英国官网:法国童装品牌
2019/08/09 全球购物
Traffic People官网:女式花裙、上衣和连身裤
2020/10/12 全球购物
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
数据库基础的一些面试题
2012/02/25 面试题
2014年社区个人工作总结
2014/12/02 职场文书
律师函格式范本
2015/05/27 职场文书
关于幸福的感言
2015/08/03 职场文书
日元符号 ¥
2022/02/17 杂记