Python爬虫爬取豆瓣电影之数据提取值xpath和lxml…
2018-09-29 03:58:52来源:博客园 阅读 ()
工具: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)、选择具体某个元素://div[@class='feed']/ul/li,选择class='feed'的div下的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 from lxml import etree 2 import requests 3 4 url = "https://movie.douban.com/chart" 5 6 headers = { 7 "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" 8 } 9 response = requests.get(url,headers=headers) 10 html_str = response.content.decode() 11 12 #print(html_str) 13 14 html = etree.HTML(html_str) 15 print(html) 16 17 #1.获取所有的电影的URL地址 18 #url_list = html.xpath("//div[@class='indent']/div/table//div[@class='pl2']/a/@href") 19 #print(url_list) 20 21 #2.所有图片的地址 22 #img_list = html.xpath("//div[@class='indent']/div/table//a[@class='nbg']/img/@src") 23 #print(img_list) 24 ret1 = html.xpath("//div[@class='indent']/div/table") 25 print(ret1) 26 for table in ret1: 27 item = {} 28 item["title"] = table.xpath(".//div[@class='pl2']/a/text()")[0].replace("/","").strip() 29 item["href"] = table.xpath(".//div[@class='pl2']/a/@href")[0] 30 item["img"] = table.xpath(".//a[@class='nbg']/img/@src")[0] 31 item["comment_num"] = table.xpath(".//span[@class='pl']/text()")[0] 32 item["rating_num"] = table.xpath(".//span[@class='rating_nums']/text()")[0] 33 print(item) 34
运行效果:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash