您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:Python趣味爬虫之爬取爱奇艺热门电影

51自学网 2021-10-30 22:31:03
  python
这篇教程Python趣味爬虫之爬取爱奇艺热门电影写得很实用,希望能帮到您。

一、首先我们要找到目标

找到目标先分析一下网页很幸运这个只有一个网页,不需要翻页。

在这里插入图片描述

二、F12查看网页源代码

找到目标,分析如何获取需要的数据。找到href与电影名称

在这里插入图片描述

三、进行代码实现,获取想要资源。

'''操作步骤1,获取到url内容 2,css选择其选择内容 3,保存自己需要数据 '''#导入爬虫需要的包import requestsfrom bs4 import BeautifulSoup#requests与BeautifulSoup用来解析网页的import time#设置访问网页时间,防止自己IP访问多了被限制拒绝访问import reclass 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爬取电影内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python用函数思想完成哥德巴赫猜想代码分析
Python基础学习之简单理解函数
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。