Python爬取豆瓣电影数据并且提取值xpath和lxml模块(代码)


本文摘自php中文网,作者不言,侵删。

本篇文章给大家带来的内容是关于Python爬取豆瓣电影数据并且提取值xpath和lxml模块(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

工具:Python 3.6.5、PyCharm开发工具、Windows 10 操作系统、谷歌浏览器

目的:爬取豆瓣电影排行榜中电影的title、链接地址、图片、评价人数、评分等

网址:https://movie.douban.com/chart

语法要点:

xpath语法:

谷歌浏览器安装 xpath helper插件:帮助我们从elements中定位数据

1、选择节点(标签)

  (1)、/html/head/meta:能够选中html下的所有的meta标签

  (2)、//li:当前页面上的所有的li标签

  (3)、/html/head//link:head下的所有link标签

2、//:能够从任意节点开始选择

  (1)、//li:当前页面上的所有的li标签

  (2)、/html/head//link:head下的所有的link标签

3、@符号的用途

  (1)、选择具体某个元素://p[@class='feed']/ul/li,选择class='feed'的p下的ul下的li

  (2)、a/@href:选择a的href的值

4、获取文本

  (1)、/a/text():获取a下的文本

  (2)、/a//text():获取a下的所有文本

示例

lxml语法:

1、安装:pip install lxml

2、使用

  from lxml import etree

  element = etree.HTML("html字符串")

  element.xpath("")

代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

from lxml import etree

import requests

 

url = "https://movie.douban.com/chart"

 

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36"

}

response = requests.get(url,headers=headers)

html_str = response.content.decode()

 

#print(html_str)

 

html = etree.HTML(html_str)

print(html)

 

#1.获取所有的电影的URL地址

#url_list = html.xpath("//div[@class='indent']/div/table//div[@class='pl2']/a/@href")

#print(url_list)

 

#2.所有图片的地址

#img_list = html.xpath("//div[@class='indent']/div/table//a[@class='nbg']/img/@src")

#print(img_list)

ret1 = html.xpath("//div[@class='indent']/div/table")

print(ret1)

for table in ret1:

    item = {}

    item["title"] = table.xpath(".//div[@class='pl2']/a/text()")[0].replace("/","").strip()

    item["href"] = table.xpath(".//div[@class='pl2']/a/@href")[0]

    item["img"] = table.xpath(".//a[@class='nbg']/img/@src")[0]

    item["comment_num"] = table.xpath(".//span[@class='pl']/text()")[0]

    item["rating_num"] = table.xpath(".//span[@class='rating_nums']/text()")[0]

    print(item)

运行效果:

以上就是Python爬取豆瓣电影数据并且提取值xpath和lxml模块(代码)的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

Python如何实现从pdf文件中爬取表格数据(代码示例)

剪刀石头布用Python怎么写

你知道Python

Python--堡垒机的介绍

Python如何使用xlrd实现读取合并单元格

Python能开发ios与安卓吗

Python如何提高运行速度

Python如何随机读取目录文件

Python中的list是什么

Python程序怎么运行结果

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...