Python之爬取爱奇艺热门电影的解决办法
内容摘要
这篇文章主要为大家详细介绍了Python之爬取爱奇艺热门电影的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、首先我
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、首先我
文章正文
这篇文章主要为大家详细介绍了Python之爬取爱奇艺热门电影的简单示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随php教程的雯雯来看看吧!
一、首先我们要找到目标
找到目标先分析一下网页(url:https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi–.html),很幸运这个只有一个网页,不需要翻页。
二、F12查看网页源代码
找到目标,分析如何获取需要的数据。找到href与电影名称
三、进行代码实现,获取想要资源。
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <code> '' ' 爬取爱奇艺电影与地址路径 操作步骤 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 ( "下载完成" ) </code> |
教你怎么用python爬取爱奇艺热门电影
四、查看现象
到此这篇关于教你怎么用python爬取爱奇艺热门电影的文章就介绍到这了,更多相关python爬取电影内容请搜索php教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持php教程!
注:关于Python之爬取爱奇艺热门电影的简单示例的内容就先介绍到这里,更多相关文章的可以留意
代码注释