利用xpath来解析douban电影相对应的信息
from lxml import etree
import requests url = "https://movie.douban.com/chart" headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"} response = requests.get(url,headers = headers)
html_str = response.content.decode() #print(response) html = etree.HTML(html_str)
#将html_str文本转化为对象
print(html) #1.获取所有电影的url
# url_list = html.xpath("//div[@class = 'indent']/div/table//div[@class='pl2']/a/@href")
#利用xpath来获取在tabal下面中class为pl2中a的href的值
#print(url_list) #2.获取所有图片的地址
# img_list = html.xpath("//div[@class = 'indent']/div/table/tr/td/a/img/@src")
#print(img_list) # img = html.xpath("//div[@class = 'indent']/div/table//a[@class='nbg']/img/@src")
#print(img)
#上面两个功能一样,只要找到相应位置的字段值里面含有class,就可以利用//快速定位。 #3.需要每部电影里对应的参数
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["url"] = table.xpath(".//a[@class='nbg']/@href")
#图片
item["img"] = table.xpath(".//a[@class='nbg']/img/@src")[0]
#评分
item["grade"] = table.xpath(".//div[@class='star clearfix']/span[@class = 'rating_nums']/text()")
item["comment"] = table.xpath(".//div[@class = 'star clearfix']/span[@class = 'pl']/text()") print(item)
这样就能解析出电影的信息了。
利用xpath来解析douban电影相对应的信息的更多相关文章
- Python如何利用Xpath进行解析
用Python做网络爬虫的时候,会对网页的信息进行提取,笔者接触的有正则表达式,BeautifulSoup,Xpath,前面两个都是在国内能够使用的,而Xpath是Chrome的一个插件,因此需要“F ...
- 利用XPath解析带有xmlns的XML文件
在.net中,编写读取xml 的程序中提示"未将对象引用设置到对象的实例",当时一看觉得有点奇怪.为什么在读取xml数据的时候也要实例化一个对象.google了才知道,xml文件中 ...
- 用Xpath选择器解析网页(lxml)
在<爬虫基础以及一个简单的实例>一文中,我们使用了正则表达式来解析爬取的网页.但是正则表达式有些繁琐,使用起来不是那么方便.这次我们试一下用Xpath选择器来解析网页. 首先,什么是XPa ...
- XPath 爬虫解析库
XPath XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言.最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的 ...
- 私有云方案——利用阿里云云解析实现DDNS
各位都是程序员,工作中是不是遇到个类似情况.在家里研究的一些开源代码或写的一些demo或试验代码,在工作中正好需要参考一下,但是在家里的电脑上. 虽然这些都可以用云 ...
- 使用XPath对象解析xml文件
使用XPath对象解析xml文件 1.DocumentBuilderFactory类 工厂API,使应用程序能从XML文档获取生成DOM对象树的解析器 其构造方法受保护,用newInstance() ...
- 截取HTML中的JSON数据并利用GSON进行解析(Android)
截取HTML中的JSON数据并利用GSON进行解析(Android) 前言 最近在做的一个Android项目,需要自行搭建服务器,队友选择买了阿里云的服务器ESC产品,在数据获取上,我们采用了Andr ...
- 在Scrapy中如何利用Xpath选择器从HTML中提取目标信息(两种方式)
前一阵子我们介绍了如何启动Scrapy项目以及关于Scrapy爬虫的一些小技巧介绍,没来得及上车的小伙伴可以戳这些文章: 手把手教你如何新建scrapy爬虫框架的第一个项目(上) 手把手教你如何新建s ...
- 如何利用Xpath抓取京东网商品信息
前几小编分别利用Python正则表达式和BeautifulSoup爬取了京东网商品信息,今天小编利用Xpath来为大家演示一下如何实现京东商品信息的精准匹配~~ HTML文件其实就是由一组尖括号构成的 ...
随机推荐
- C题:A Water Problem(dp||搜索)
原题链接 解法一:递归 #include<cstdio> #include<algorithm> using namespace std; long long n,x,y; l ...
- ubuntu16.04(liunx) 离线安装 xgboost (anaconda3,anaconda2共存)
服务器ubuntu 系统同时安装了 anaconda3,anaconda2 ,但服务器没有连接外网,所以 想在python3 环境下安装离线安装xgboost. 主要分2步: 0:进入py3环境 ( ...
- 470. Implement Rand10() Using Rand7() (拒绝采样Reject Sampling)
1. 问题 已提供一个Rand7()的API可以随机生成1到7的数字,使用Rand7实现Rand10,Rand10可以随机生成1到10的数字. 2. 思路 简单说: (1)通过(Rand N - 1) ...
- flask应用中取得config的配置
from flask import current_app config = current_app.config SITE_DOMAIN = config.get('SITE_DOMAIN')
- PHP搞笑注释代码-佛祖配美女
//////////////////////////////////////////////////////////////////// // _ooOoo_ // // o8888888o // / ...
- .net Core 发布并布署到Iis
配置 Program.cs代码 namespace WebApplication8 { public class Program { public static void Mai ...
- 20145311实验二 "Java面向对象程序设计"
20145311实验二 "Java面向对象程序设计" 程序设计过程 实验内容 使用单元测试.TDD的方式设计实现复数类 Complex 编写代码: 1.首先设计实现复数类 Comp ...
- MAC、MII、PHY的关系与区别
嗯,实验室的嵌入式项目需要写设备驱动,我分到了网络驱动的活,写一个适配SylixOS的(这里夸一句,这个真是国内相当不错的嵌入式实时操作系统了)MPC8377的网卡驱动,说实话原来从来没接触过写驱动的 ...
- 编译 Tensorflow 1.10 + CUDA9.2 + MKL【转】
本文转自:https://www.solarck.com/compile-tensorflow-gpu.html 我的电脑系统是基于 Archlinux 的 Manjaro,软件包更新的比较激进,很早 ...
- awk根据指定的字符串分割字符串
以从字符串"hello-kitty-red-for-you"中获取-for前面的内容为例: echo "hello-kitty-red-for-you" |aw ...