教你怎么用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使用win32com实现的模拟浏览器功能示例
Jul 13 Python
Python 12306抢火车票脚本
Feb 07 Python
python之文件读取一行一行的方法
Jul 12 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
利用python循环创建多个文件的方法
Oct 25 Python
python pexpect ssh 远程登录服务器的方法
Feb 14 Python
用Python中的turtle模块画图两只小羊方法
Apr 09 Python
Python PIL图片添加字体的例子
Aug 22 Python
python openCV获取人脸部分并存储功能
Aug 28 Python
python 读取数据库并绘图的实例
Dec 03 Python
Python内置类型性能分析过程实例
Jan 29 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
《超神学院》霸气归来, 天使彦上演维多利亚的秘密
2020/03/02 国漫
通过PHP的内置函数,通过DES算法对数据加密和解密
2012/06/21 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
深入学习微信网址链接解封的防封原理visit_type
2019/08/15 PHP
JavaScript中的isXX系列是否继续使用的分析
2011/04/16 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
让input框实现类似百度的搜索提示(基于jquery事件监听)
2014/01/31 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
AngularJS 实现按需异步加载实例代码
2015/10/18 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
node.js cookie-parser之parser.js
2016/06/06 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
Angular5中调用第三方库及jQuery的添加的方法
2018/06/07 jQuery
webpack4 CSS Tree Shaking的使用
2018/09/03 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
2019/04/30 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
vue项目中极验验证的使用代码示例
2019/12/03 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
商务日语专业毕业生求职信
2013/10/26 职场文书
执行力心得体会
2013/12/31 职场文书
三分钟演讲稿事例
2014/03/03 职场文书
电子商务专业求职信
2014/03/08 职场文书
家长寄语大全
2014/04/02 职场文书
技术员岗位职责
2015/02/04 职场文书
护士求职自荐信
2015/03/25 职场文书
反腐倡廉学习心得体会范文
2015/08/15 职场文书
成功的商业计划书这样写才最靠谱
2019/07/12 职场文书
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS