本文摘自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》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » Python爬取豆瓣电影数据并且提取值xpath和lxml模块(代码)