您当前的位置: 首页 >  Python

嗨学编程

暂无认证

  • 1浏览

    0关注

    1405博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python爬取并分析IMDB电影

嗨学编程 发布时间:2019-08-09 20:29:45 ,浏览量:1

一.打开IMDB电影T250排行可以看见250条电影数据,电影名,评分等数据都可以看见

image

按F12进入开发者模式,找到这些数据对应的HTML网页结构,如下所示

image

可以看见里面有链接,点击链接可以进入电影详情页面,这可以看见导演,编剧,演员信息

image

同样查看HTML结构,可以找到相关信息的节点位置

image

演员信息可以在这个页面的cast中查看完整的信息

image

HTML页面结构

image

分析完整个要爬取的数据,现在来获取首页250条电影信息

1.整个爬虫代码需要使用的相关库

import re
import pymysql
import json
import requests
from bs4 import BeautifulSoup
from requests.exceptions import RequestException
'''
遇到不懂的问题?Python学习交流群:1136201545满足你的需求,资料都已经上传群文件,可以自行下载!
'''

2.请求首页的HTML网页,(如果请求不通过可以添加相关Header),返回网页内容

def get_html(url):
    response=requests.get(url)
    if response.status_code==200:
        #判断请求是否成功
        return  response.text
    else:
        return None

3.解析HTML

def parse_html(html):
    #进行页面数据提取
    soup = BeautifulSoup(html, 'lxml')
    movies = soup.select('tbody tr')
    for movie in movies:
        poster = movie.select_one('.posterColumn')
        score = poster.select_one('span[name="ir"]')['data-value']
        movie_link = movie.select_one('.titleColumn').select_one('a')['href']
        #电影详情链接
        year_str = movie.select_one('.titleColumn').select_one('span').get_text()
        year_pattern = re.compile('\d{4}')
        year = int(year_pattern.search(year_str).group())
        id_pattern = re.compile(r'(?            
关注
打赏
1663681728
查看更多评论
0.0912s