教你怎么用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选择排序、冒泡排序、合并排序代码实例
Apr 10 Python
python函数局部变量用法实例分析
Aug 04 Python
python实现红包裂变算法
Feb 16 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
python中正则表达式 re.findall 用法
Oct 23 Python
python opencv读mp4视频的实例
Dec 07 Python
解决Python 命令行执行脚本时,提示导入的包找不到的问题
Jan 19 Python
Python判断telnet通不通的实例
Jan 26 Python
Python3.6.x中内置函数总结及讲解
Feb 22 Python
django 微信网页授权登陆的实现
Jul 30 Python
python字典setdefault方法和get方法使用实例
Dec 25 Python
python读取ini配置的类封装代码实例
Jan 08 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遍历目录viewDir函数
2009/12/15 PHP
this和执行上下文实现代码
2010/07/01 Javascript
基于jQuery的获得各种控件Value的方法
2010/11/19 Javascript
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
Vue.js获取被选择的option的value和text值方法
2018/08/24 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
2019/03/28 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
JS原型对象操作实例分析
2020/06/06 Javascript
python使用sqlite3时游标使用方法
2018/03/13 Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
2019/06/04 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
一体化教学实施方案
2014/05/10 职场文书
娱乐节目策划方案
2014/06/10 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
JS数组的常用方法整理
2021/03/31 Javascript
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP