本篇内容主要讲解“python如何爬取热门电影”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python如何爬取热门电影”吧!

代码实现

'''爬取电影与地址路径操作步骤1,获取到url内容2,css选择其选择内容3,保存自己需要数据'''#导入爬虫需要的包importrequestsfrombs4importBeautifulSoup#requests与BeautifulSoup用来解析网页的importtime#设置访问网页时间,防止自己IP访问多了被限制拒绝访问importreclassPosition():def__init__(self,position_name,position_require,):#构建对象属性self.position_name=position_nameself.position_require=position_requiredef__str__(self):return'%s%s/n'%(self.position_name,self.position_require)#重载方法将输入变量改成字符串形式classAiqiyi():defiqiyi(self,url):head={'User-Agent':"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/87.0.4280.67Safari/537.36Edg/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=[]#创建一个列表用来存储数据foreinsoupl:biao=e.select('.qy-mod-li')#进行二次筛选forhinbiao: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)returnresults#返回内容defaddress(self,url):#保存网址head={'User-Agent':"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/87.0.4280.67Safari/537.36Edg/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=[]foriinalist:ls.append(i.get('href'))returnlsif__name__=='__main__':time.sleep(2)#设置2秒访问一次a=Aiqiyi()url="https://list.*****.com/www/1/-------------11-1-1-iqiyi--.html"withopen(file='e:/练习.txt',mode='a+')asf:#e:/练习.txt为我电脑新建的文件,a+为给内容进行添加,但不进行覆盖原内容。foritemina.iqiyi(url):line=f'{item.position_name}{item.position_require}'f.write(line)#采用方法print("下载完成")withopen(file='e:/地址.txt',mode='a+')asf:#e:/练习.txt为我电脑新建的文件,a+为给内容进行添加,但不进行覆盖原内容。foritemina.address(url):line=f'https{item}'f.write(line)#采用方法print("下载完成")

到此,相信大家对“python如何爬取热门电影”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!