爬虫练习-爬取豆瓣电影TOP250的数据

本文介绍了如何使用Python爬虫抓取豆瓣电影TOP250的数据,并将其存储到Mysql数据库中。通过分析网页结构,利用XPath解析HTML,获取电影详情页链接,然后提取主演等信息,最后将数据存入数据库。
摘要由CSDN通过智能技术生成

前言:

爬取豆瓣电影TOP250的数据,并将爬取的数据存储于Mysql数据库中

本文为整理代码,梳理思路,验证代码有效性——2020.1.4


环境:
Python3(Anaconda3)
PyCharm
Chrome浏览器

主要模块: 后跟括号内的为在cmd窗口安装的指令
requests(pip install requests)
lxml(pip install lxml)
re
pymysql(pip install pymysql )
time

1.

在Mysql名为mydb的数据库中新建数据表,下为建表语句

CREATE TABLE doubanmovie 
( 
NAME TEXT, 
director TEXT, 
actor TEXT, 
style TEXT, 
country TEXT, 
release_time TEXT, 
time TEXT, 
score TEXT 
) 
ENGINE INNODB DEFAULT CHARSET = utf8;

2.

分析爬取的网页结构

https://movie.douban.com/top250
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
...

同豆瓣音乐,豆瓣图书的TOP250一样
我们对其构造列表解析式

 urls = ['https://movie.douban.com/top250?start={}'.format(str(i))for i in range(0, 250, 25)]

3.

分析html结构,获取详情页链接
在这里插入图片描述

4.

进入详情页后,打开开发者工具(F12),分析html结构获取详细信息
在这里插入图片描述
代码如下:

演员取前五个为主演,不足五个的则全取

#标题
name = selector.xpath('//*[@id="content"]/h1/span[1]/text()')[0]

# 导演
director = selector.xpath('//*[@id="info"]/span[1]/span[2]/a/text()')[0]

# 演员
actors_s = selector.xpath('//span[@class="attrs"]/a/text()')
actors = ""
if len(actors_s) > 5:
    for s in actors_s[1:5]:
        actors += (s + '/')
    actors += actors_s[5]
else:
    for s in actors_s[-1]:
        actors += (s + '/')
    actors += actors_s[-1]

# 类型
styles = selector
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值