基础入门爬虫:教你怎么用Python爬取爱奇艺热门电影
2021-06-02 21:19
956 查看
一、首先我们要找到目标
找到目标先分析一下网页(url:https://list.iqiyi.com/www/1/-------------11-1-1-iqiyi–.html),很幸运这个只有一个网页,不需要翻页。
二、F12查看网页源代码
找到目标,分析如何获取需要的数据。找到href与电影名称
三、进行代码实现,获取想要资源。
''' 爬取爱奇艺电影与地址路径 操作步骤 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技术交流,行业咨询、兼职交流、基础入门视频,电子书籍,大佬在线专业解答请点击领取~福利
①3000多本Python电子书有
②Python开发环境安装教程有
③Python400集自学视频有
④软件开发常用词汇有
⑤Python学习路线图有
⑥项目源码案例分享有
相关文章推荐
- python3 [入门基础实战] 爬虫入门之爬取豆瓣阅读中文电子书[热门排序]
- python3[爬虫基础入门实战] 爬取豆瓣电影排行top250
- python 入门爬虫 -基础知识(数据怎么来的【二】)
- [置顶] python爬虫实践——零基础快速入门(二)爬取豆瓣电影
- python3 [入门基础实战] 爬虫入门之xpath的学习
- Python爬虫入门二之爬虫基础了解
- 爬虫入门:python+pycharm,豆瓣电影信息,短评,分页爬取,mysql数据库连接
- python爬虫零基础入门
- Python爬虫入门(2):爬虫基础了解
- 小白学 Python 爬虫(3):前置准备(二)Linux基础入门
- Python爬虫开发(一):零基础入门
- Python爬虫入门之基础表达式
- Python爬虫入门 | 7 分类爬取豆瓣电影,解决动态加载问题
- 小白学 Python 爬虫(32):异步请求库 AIOHTTP 基础入门
- Python爬虫怎么入门-让入门更快速,更专注
- 零基础入门python爬虫之《青春有你2》选手信息爬取
- Python爬虫入门—urllib库的基础知识
- Python爬虫入门二之爬虫基础了解
- python 入门爬虫 -基础知识(数据如何呈现【一】)
- python爬虫入门实战(三)不会正则怎么办?xpath分分钟搞定!附csv保存!