Python 3.x 高评分电影爬取

电影网站是随意选取的,如果要爬取其他电影网站需要有所改动。
利用 requests 库向服务器发送请求获取数据,利用 BeautifulSoup 库解析所获取的数据。代码如下:

from bs4 import BeautifulSoup
import requests,time
urlm = ['http://dianying.2345.com/list/kehuan-------{}.html'.format(str(i)) for i in range(1,36)] # 利用列表解析式,实现科幻片多页爬取
def movie(url,dicti=None):
    wb_data = requests.get(url) # 向服务器发送请求,要料
    soup = BeautifulSoup(wb_data.text,'lxml') # 汤 = BeautifulSoup(料,食谱)
    titles = soup.select('em.emTit > a') # 从汤里挑出各种做好的东西,如标题,评分
    scores = soup.select('span.pRightBottom > em')
    if dicti==None:
        for title,score in zip(titles,scores): # 每次循环将标题和评分组成一对放入字典
            length = len(score.get_text())-1 # 获取评分的数字部分长度
            dicti = {
                'score': score.get_text()[0:length], # 获取评分的数字部分,例如,“7.8分”的数字部分是7.8,“9分”的数字部分是9
                'title':title.get_text()
            }
            if float(dicti['score']) >= 9.1: # 如果评分大于9.1分输出
                print(dicti)
for single_url in urlm: # 调用函数
    movie(single_url)
    time.sleep(3)  # 时间保护,防止IP被封

你可能感兴趣的:(Python 3.x 高评分电影爬取)