教你怎么用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批量给云主机配置安全组的方法教程
Jun 21 Python
解决python3 json数据包含中文的读写问题
May 10 Python
python人民币小写转大写辅助工具
Jun 20 Python
django 实现电子支付功能的示例代码
Jul 25 Python
python redis 删除key脚本的实例
Feb 19 Python
python实现移位加密和解密
Mar 22 Python
django框架事务处理小结【ORM 事务及raw sql,customize sql 事务处理】
Jun 27 Python
python 读取修改pcap包的例子
Jul 23 Python
Python PIL图片添加字体的例子
Aug 22 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
OpenCV利用python来实现图像的直方图均衡化
Oct 21 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 is_subclass_of函数的一个BUG和解决方法
2014/06/01 PHP
PHP的伪随机数与真随机数详解
2015/05/27 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
XAMPP升级PHP版本实现步骤解析
2020/09/04 PHP
jquery关于图形报表的运用实现代码
2011/01/06 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
file控件选择上传文件确定后触发的js事件是哪个
2014/03/17 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
页面向下滚动ajax获取数据的实现方法(兼容手机)
2016/05/24 Javascript
JQuery 动态生成Table表格实例代码
2016/12/02 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
jQuery操作css样式
2017/05/15 jQuery
Vue服务器渲染Nuxt学习笔记
2018/01/31 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
Vue Extends 扩展选项用法完整实例
2019/09/17 Javascript
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
浅析Python中的join()方法的使用
2015/05/19 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
在Python中执行系统命令的方法示例详解
2017/09/14 Python
python3操作微信itchat实现发送图片
2018/02/24 Python
基于python 二维数组及画图的实例详解
2018/04/03 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
2019/06/04 Python
django的ORM操作 增加和查询
2019/07/26 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
python时间日期操作方法实例小结
2020/02/06 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
对python中各个response的使用说明
2020/03/28 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
详解css3 object-fit属性
2018/07/27 HTML / CSS
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
行政经理的岗位职责
2013/11/23 职场文书
外联部演讲稿
2014/05/24 职场文书
幼儿园大班教学反思
2016/03/02 职场文书