服务器之家

服务器之家 > 正文

教你怎么用python爬取爱奇艺热门电影

时间:2021-11-08 10:46     来源/作者:韶光不负

一、首先我们要找到目标

找到目标先分析一下网页(url:https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi–.html),很幸运这个只有一个网页,不需要翻页。

教你怎么用python爬取爱奇艺热门电影

二、f12查看网页源代码

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

教你怎么用python爬取爱奇艺热门电影

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

?
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
'''
爬取爱奇艺电影与地址路径
 
操作步骤
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爬取电影内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_47514459/article/details/117001761

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部