Python三期爬虫作业

【Python爬虫】-【第四周】02-作业

2017-08-03  本文已影响56人  五虎谷的阿格2

学习xpath语法

XPath 语法

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
XML 实例文档

我们将在下面的例子中使用这个 XML 文档。

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>

选取节点

XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。 下面列出了最有用的路径表达式:

节点

具体参考是老师给的网页链接:

http://www.runoob.com/xpath/xpath-syntax.html

lxml里的etree类

来源 http://lxml.de/tutorial.html 作者: Stefan Behnel这个教学覆盖lxml 处理的主要几个方面,其中的一些功能也许能使你的码农生涯好过一点。
完整的API 请看 http://lxml.de/api/index.html
通常像下面这样导入 lxml.etree 模块:

from lxml import etree
截图省页面

参考链接:
http://blog.csdn.net/u012063703/article/details/51754665

作业:输出简书首页的标题

代码:

import requests
from lxml import etree  #从进口Etree lxml

jiangshu_url = "http://www.jianshu.com/"#定义变量,简书的首页链接
home_page_html = requests.get(jiangshu_url).content#还是定义变量,不过这个变量是获取简书首页的请求头的文字内容
html = etree.HTML(home_page_html)
titles = html.xpath('//a[@class="title"]/text()')#

for i in range(len(titles)):#这个是以前练习的for循环
    print("编号为 %d 的文章标题:" %(i+1),titles[i])

运行结果

"C:\Program Files\Python36\python.exe" "D:/小克学习/python/项目/week four/xpath.py"
编号为 1 的文章标题: 那些30岁还没结婚的人,过着怎样的生活?
编号为 2 的文章标题: 上那么多付费写作课,不如读读这本书 
编号为 3 的文章标题: 从专科生到硕士研究生再到国外大学汉语教师的三年逆袭之路
编号为 4 的文章标题: 万古人间林徽因
编号为 5 的文章标题: 别让计划毁了你!
编号为 6 的文章标题: 那些能够长期坚持的人都有什么秘诀?
编号为 7 的文章标题: 没有仪式感的生活,不要也罢!
编号为 8 的文章标题: 外籍男友说:中国女孩真好睡
编号为 9 的文章标题: 每天3分钟 | 3周告别大肚腩,还你优雅帅气的迷人身姿
编号为 10 的文章标题: 喜丧
编号为 11 的文章标题: 水果没吃对,健身又白练
编号为 12 的文章标题: 一封不会寄出的情书
编号为 13 的文章标题: 老司机开车了,五本让你脸红心跳的经典情色书
编号为 14 的文章标题: 有一条公路,叫中国最美公路
编号为 15 的文章标题: 有一个三观不正的舍友是什么感觉
编号为 16 的文章标题: 我就是那个一直单身,却被误以为有对象的人
编号为 17 的文章标题: 机动时间留给自己,未知收获交给弹性
编号为 18 的文章标题: 成熟是:不轻易地把寂寞交给别人
编号为 19 的文章标题: 真实故事丨写给遥远的外公
编号为 20 的文章标题: 当惩罚超过了罪本身的恶,又该如何定罪

Process finished with exit code 0
总结:

开始陆续用到以前学的东西了,有时候打印不出来很苦恼,有时候会豁然开朗,但是更多的是新东西学习比较吃力。

上一篇下一篇

猜你喜欢

热点阅读