Python爬虫实战入门:豆瓣电影Top250(保你会,不会来打我) |
您所在的位置:网站首页 › 爬取豆瓣电影top250图片 › Python爬虫实战入门:豆瓣电影Top250(保你会,不会来打我) |
文章目录
需求所需第三方库requests模块lxml模块了解 lxml模块和xpath语法xpath语法-基础节点选择语法
实战教程完整代码
需求
目标网站: https://movie.douban.com/top250 需求: 爬取电影中文名、英文名、电影详情页链接、导演、主演、上映年份、国籍、类型、评分、评分人数, 并保存到csv文件当中 目标url: https://movie.douban.com/top250 所需第三方库 requestslxml安装 requests安装命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests lxml安装命令:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple lxml 简介 requests模块requests 是 Python 编程语言中一个常用的第三方库,它可以帮助我们向 HTTP 服务器发送各种类型的请求,并处理响应。 向 Web 服务器发送 GET、POST 等请求方法;在请求中添加自定义标头(headers)、URL 参数、请求体等;自动处理 cookies;返回响应内容,并对其进行解码;处理重定向和跳转等操作;检查响应状态码以及请求所消耗的时间等信息。 lxml模块 了解 lxml模块和xpath语法lxml 是 Python 编程语言中一个常用的第三方库,它提供了一个高效而简单的方式来解析和处理 XML 和 HTML 文档。 从文件或字符串中读取 XML 或 HTML 文档;使用 XPath 或 CSS 选择器来查找和提取文档中的数据;解析 XML 或 HTML 文档,并将其转换为 Python 对象或字符串;对文档进行修改、重构或序列化;处理命名空间和 CDATA 等特殊情况。对html或xml形式的文本提取特定的内容,就需要我们掌握lxml模块的使用和xpath语法。 lxml模块可以利用XPath规则语法,来快速的定位HTML\XML 文档中特定元素以及获取节点信息(文本内容、属性值)XPath (XML Path Language) 是一门在 HTML\XML 文档中查找信息的语言,可用来在 HTML\XML 文档中对元素和属性进行遍历。 W3School官方文档:http://www.w3school.com.cn/xpath/index.asp 提取xml、html中的数据需要lxml模块和xpath语法配合使用 xpath语法-基础节点选择语法 XPath 使用路径表达式来选取 XML 文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。使用chrome插件选择标签时候,选中时,选中的标签会添加属性class=“xh-highlight”xpath定位节点以及提取属性或文本内容的语法 表达式描述nodename选中该元素。/从根节点选取、或者是元素和元素间的过渡。//从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。.选取当前节点。…选取当前节点的父节点。@选取属性。text()选取文本。xpath语法-节点修饰语法 可以根据标签的属性值、下标等来获取特定的节点 节点修饰语法 路径表达式结果//title[@lang=“eng”]选择lang属性值为eng的所有title元素/bookstore/book[1]选取属于 bookstore 子元素的第一个 book 元素。/bookstore/book[last()]选取属于 bookstore 子元素的最后一个 book 元素。/bookstore/book[last()-1]选取属于 bookstore 子元素的倒数第二个 book 元素。/bookstore/book[position()>1]选择bookstore下面的book元素,从第二个开始选择//book/title[text()=‘Harry Potter’]选择所有book下的title元素,仅仅选择文本为Harry Potter的title元素/bookstore/book[price>35.00]/title选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。关于xpath的下标 在xpath中,第一个元素的位置是1最后一个元素的位置是last()倒数第二个是last()-1xpath语法-其他常用节点选择语法 // 的用途 //a 当前html页面上的所有的abookstore//book bookstore下的所有的book元素 @ 的使用 //a/@href 所有的a的href//title[@lang=“eng”] 选择lang=eng的title标签 text() 的使用 //a/text() 获取所有的a下的文本//a[texts()=‘下一页’] 获取文本为下一页的a标签a//text() a下的所有的文本 xpath查找特定的节点 //a[1] 选择第一个s//a[last()] 最后一个//a[position() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |