目录
编辑
Python——JSON基础
第1关:JSON篇:JSON基础知识
任务描述
第2关:JSON篇:使用json库
任务描述
Python——XPath基础
第1关:XPath 路径表达式
任务描述
第2关:XPath 轴定位
任务描述
第3关:XPath 解析
任务描述
Python:什么是爬虫
第1关:什么是爬虫
任务描述
第2关:python 怎么做爬虫
任务描述
Python——JSON基础
第1关:JSON篇:JSON基础知识
任务描述
本关任务:手动编写一个 JSON 格式的数据文件。
{"count":3 , "students": [ {"name":"赵昊" , "age":15 , "ismale" :true }, {"name":"龙傲天" , "age":16 , "ismale" :true}, {"name":"玛丽苏" , "age":15 , "ismale" : false} ] }
复制
第2关:JSON篇:使用json库
任务描述
本关任务:编写一个能读取并修改 JSON 数据的程序。
import json def Func(): data = open("step2/2017.txt","r",encoding = "utf-8") obj = json.load(data) data.close() #********** Begin *********# obj["count"]=4 #修改键值对,把学生数从3改为4 obj["infos"][0]["age"]=16 obj["infos"][1]["age"]=17 obj["infos"][2]["age"]=16 obj["infos"].append({"name":"叶良辰","age":17,"height":1.87,"sex":"男性"}) #********** End **********# output = open("step2/2018.txt","w",encoding = "utf-8") json.dump(obj,output) #输出到文件 output.close()
复制
Python——XPath基础
第1关:XPath 路径表达式
任务描述
本关任务:根据给定的 xml 文档,使用 XPath 表达式选取指定内容。
1.选取bookstore元素的所有子节点 ********** Begin ********* bookstore *********** End ********** 2.选取所有拥有名为 lang 的属性的 title 元素 ********** Begin ********* //title[@lang] *********** End ********** 3.选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性和值为good的class属性 ********** Begin ********* //title[@lang='eng' and @class="good"] *********** End ********** 4.选取属于 bookstore 子元素的book元素下的所有文本内容 ********** Begin ********* /bookstore/book/text() *********** End ********** 5.选取属于 bookstore 子元素的第一个 book 元素 ********** Begin ********* /bookstore/book[1] *********** End **********
复制
第2关:XPath 轴定位
任务描述
本关任务:根据给定的 xml 文档,使用 XPath 表达式选取指定内容。
1.选取所有属于当前节点的子元素的 book 节点 ********** Begin ********* child::book *********** End ********** 2.选取当前节点的 lang 属性 ********** Begin ********* attribute::lang *********** End ********** 3.选取当前节点的所有 price 孙节点 ********** Begin ********* child::*/child::price *********** End **********
复制
第3关:XPath 解析
任务描述
本关任务:编写解析 HTML 文件的 Python 程序
# 导入lxml库 from lxml import etree # 读取lll.html文件并转化为元素树对象 parse = etree.HTMLParser(encoding='utf-8') tree = etree.parse('src/step3/lll.html', parse) # 补充xpath表达式,获取所有书的名称 # ********** Begin ********* # print(tree.xpath('//bookstore/book/title/text()')) # *********** End ********** # # 补充xpath表达式,获取所有书的价格 # ********** Begin ********* # print(tree.xpath('//bookstore/book/price/text()')) # *********** End ********** # # 填写代码, 获取价格低于30的书名 # ********** Begin ********* # print(tree.xpath('//bookstore/book[price < 30.00]/title/text()')[0]) # *********** End ********** #
复制
Python:什么是爬虫
第1关:什么是爬虫
任务描述
本关任务:学习本关知识,完成选择题。
1、下面哪句符合爬虫的描述
自动化从网络上收集需要的信息
2、下面哪些语言是网页的构成部分
HTML
CSS
3、下面谁定义了网页的基本结构
HTML
4、下列哪个文件与爬虫有关?
robots.txt
5、爬虫用到的网络协议是?
HTTP
6、防范爬虫的策略有
验证码限制
设置User-Agent
7、下列关于统一资源定位符,哪项是错误的
一个域名必须对应一个IP地址 一个IP地址也必须对应一个域名
8、客户端HTTP请求格式包括
请求数据
请求行
请求头部
9、服务端HTTP响应格式包括
响应正文
响应报头
状态行
10、下列响应状态码描述正确的有
500表示请求未完成
第2关:python 怎么做爬虫
任务描述
本关任务:学习本关知识,完成选择题。
1、只有 Python 才可以做爬虫?
其他语言也可
2、哪一步不属于python爬虫步骤?
连接数据库
训练机器学习模型
3、下列哪些库可以用来做爬虫?
urllib3
requests
4、下列哪些事情是urllib3不能做的?
构建一个HTTP服务器
连接SQL数据库
解析HTML文档
5、下列哪些事情是 bs4 可以做到的?
解析HTML文档
支持CSS选择器
6、下列关于 bs4 中的对象描述正确的是?
bs4.element.Tag类:表示HTML中的标签
bs4.BeautifulSoup类:表示HTML DOM中的全部内容,支持遍历文档树和搜索文档树的大部分方法
7、下面关于 BeautifulSoup 的使用错误的有?
import BeautifulSoup from bs4
soup = new BeautifulSoup("data")
8、下面哪一项不属于 json 值
None
{name: "xiaoming"}
9、下列 python
json
库介绍错误的有?使用
json
库可以不用导入json.dump(): 读取文件中JSON形式的字符串元素,转换成Python类型
10、python 爬虫不需要的库有?
numpy
flask