Part 1 环境介绍
系统:macOS Catalina
语言:python3。因为2020年开始python2的很多库都将停用,所以现在基本用ython3。不过想继续用Python2还是可的,不过不建议。
Part 2 源代码和运行结果
#!/usr/bin/python3
#coding=utf-8
import requests
from lxml import html
url='https://movie.douban.com/' #需要爬数据的网址
page=requests.Session().get(url)
tree=html.fromstring(page.text)
result=tree.xpath('//td[@class="title"]//a/text()') #获取需要的数据
print(result)

Part 3 代码解析
#!/usr/bin/python3
以#!开头的句子指明解释器,说明本脚本由哪个解释器执行。本次示例的代码由Python3解释器执行。
#coding=utf-8
本句指明编码方式。Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。
解决方法为只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 就行了
注意:#coding=utf-8 的 = 号两边不要空格。
import requests
from lxml import html
这两句是导入本次示例所需的packet和方法。
url='https://movie.douban.com/' #需要爬数据的网址
赋值语句,将目标网址字符串赋给变量名。(是这么讲没错,但从Python的角度来看就是用url来引用网址这个字符串)
page=requests.Session().get(url)
session:会话,就是你点进这个站点后,由浏览器与服务器之间保持的一次连接。
get:跨请求保持数据(客户端存数据)
tree=html.fromstring(page.text)
本条语句通过html模块中的fromstring方法来解析前文所保存的web数据,而后将结果保存到Tree中。
result=tree.xpath('//td[@class="title"]//a/text()') #获取需要的数据
本条语句是本次数据爬取的核心。其中xpath值得好好学习一下!教程看这里->XPath 教程该方法用于在XML文档中对元素及其属性进行遍历。其中//td是指搜索的大目录;class="title"是特定目录;//a相当于最小的目录;/text()是提取其中的数据。
print(result)
本条print语句输出结果。Python3基本就是将Python2的诸多过程函数化。

140

被折叠的 条评论
为什么被折叠?



