美文网首页linux运维
python爬虫--10-使用python爬取豆瓣正在上映的电影

python爬虫--10-使用python爬取豆瓣正在上映的电影

作者: 运维家 | 来源:发表于2022-05-27 21:35 被阅读0次

学以致用,我们使用前面的知识,来爬取一下豆瓣上正在上映的电影,由于我们还没有整理存储相关的资料,那么我们就先打印出来,不做存储示例。

1、爬取流程梳理

计划获取内容为:名字、年份、时长、地区、演员、封面等信息。

(1)整体定位

首先我们要知道爬取的哪个页面的哪些内容,如下图:

(2)范围定位

然后我们看下它对应的html代码是什么,如下图:

那么我们可以先拿取到这块代码,它对应的XPath路径如下:

//*[@id="nowplaying"]

(3)大致定位

我们拿到这块代码之后,在轮训里面的每个li标签,因为li标签里面就是我们实际所需要的内容;

(4)准确定位

数据截取,截取到我们需要的信息,并进行输出

2、代码书写

(1)整体定位

先获取整个页面的html代码

# 引入模块
import requests

# 设置请求头
Header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
          'Referer': 'https://movie.douban.com/cinema/later/beijing/'}

Url = 'https://movie.douban.com/cinema/nowplaying/beijing/'
Reqs = requests.get(url=Url, headers=Header)
jier = Reqs.text
print(jier)

输出如下:

这样子我们就已经获取到了整个页面;

(2)范围定位

然后我们获取下正在上映的那块对应的html代码,那么我们的代码就变成了如下:

# 引入模块
import requests
from lxml import etree

# 设置请求头
Header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
          'Referer': 'https://movie.douban.com/cinema/later/beijing/'}

Url = 'https://movie.douban.com/cinema/nowplaying/beijing/'
Reqs = requests.get(url=Url, headers=Header)
jier = Reqs.text
# print(jier)

# 获取正在上映的Div下的list
A_Html = etree.HTML(jier)
Div_Html = A_Html.xpath('//*[@id="nowplaying"]//ul[@class="lists"]')[0]
# 将获取的代码进行格式化输出
print(etree.tostring(Div_Html, encoding='utf-8').decode('utf-8'))

我们获取的结果如下:

(3)大致定位

然后我们将刚获取的Div_Html代码进行二次处理,获取里面所有的li标签,此时,我们的代码如下:

# 引入模块
import requests
from lxml import etree

# 设置请求头
Header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36',
          'Referer': 'https://movie.douban.com/cinema/later/beijing/'}

Url = 'https://movie.douban.com/cinema/nowplaying/beijing/'
Reqs = requests.get(url=Url, headers=Header)
jier = Reqs.text
# print(jier)

# 获取正在上映的Div下的list
A_Html = etree.HTML(jier)
Div_Html = A_Html.xpath('//*[@id="nowplaying"]//ul[@class="lists"]')[0]
# 将获取的代码进行格式化输出
# print(etree.tostring(Div_Html, encoding='utf-8').decode('utf-8'))
#
Li_Html = Div_Html.xpath('./li')
for i in Li_Html:
    print(etree.tostring(i, encoding='utf-8').decode('utf-8'))

输出结果如下:

(4)准确定位

截取对应的值,并进行输出,这也就是我们的完整代码了

剩余内容请转至VX公众号 “运维家” ,回复 “172” 查看。

------ “运维家” ,回复 “172”  ------

------ “运维家” ,回复 “172”  ------

------ “运维家” ,回复 “172”  ------

在Linux中的命令,linux实时线程,linux中tail,如何调用linux的epoll,linux无故多出很多进程,linux怎么打开xls文件,linux怎样用命令打开软件,程序员要不要装linux系统,LINUX通用链表实例;

usb无法安装linux,类似安卓linux,在linux中压缩解压命令,512老电脑linux,linux中退出根目录,linux自定义自启的脚本,linux管理员用户名是,新装的linux网卡配置,linux修改u盘权限失败,c语言linux下开发软件。

相关文章

网友评论

    本文标题:python爬虫--10-使用python爬取豆瓣正在上映的电影

    本文链接:https://www.haomeiwen.com/subject/akjwprtx.html