教你怎么用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的一些用法分享
Oct 07 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
python3+PyQt5实现柱状图
Apr 24 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
Jun 06 Python
python3读取csv和xlsx文件的实例
Jun 22 Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 Python
numpy和pandas中数组的合并、拉直和重塑实例
Jun 28 Python
Python PO设计模式的具体使用
Aug 16 Python
python的pyecharts绘制各种图表详细(附代码)
Nov 11 Python
python中栈的原理及实现方法示例
Nov 27 Python
Python语言异常处理测试过程解析
Jan 08 Python
Python使用configparser读取ini配置文件
May 25 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制作中间带自己定义图片二维码的方法
2014/01/27 PHP
ThinkPHP查询语句与关联查询用法实例
2014/11/01 PHP
PHP图片处理之图片旋转和图片翻转实例
2014/11/19 PHP
javascript 对象的定义方法
2007/01/10 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
简单易用的倒计时js代码
2014/08/04 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
vue.js,ajax渲染页面的实例
2018/02/11 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
Python 字符串中的字符倒转
2008/09/06 Python
Python文件和目录操作详解
2015/02/08 Python
python实现多线程网页下载器
2018/04/15 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
Windows 64位下python3安装nltk模块
2018/09/19 Python
浅谈Pandas:Series和DataFrame间的算术元素
2018/12/22 Python
实例详解Python装饰器与闭包
2019/07/29 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
pytorch:torch.mm()和torch.matmul()的使用
2019/12/27 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
python爬虫如何解决图片验证码
2021/02/14 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
百思买美国官网:Best Buy
2016/07/28 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
公司晚会策划方案
2014/05/17 职场文书
模范班主任事迹材料
2014/12/17 职场文书
初中毕业生自我评价
2015/03/02 职场文书
活动宣传稿范文
2015/07/23 职场文书
小学体育课教学反思
2016/02/16 职场文书