手机怎么上wap网站,网站流量怎么查看,科技网站模版,龙华响应式网站建设响应有两种#xff1a;JSON数据和HTML页面#xff0c;对于后者就需要进行解析HTML Documen得到我们需要的信息。
① xpath使用
可以提前安装xpath插件#xff0c;也可以自己从HTML源码解析。
#xff08;1#xff09;打开chrome浏览器
#xff08;2#xff09;点击右…响应有两种JSON数据和HTML页面对于后者就需要进行解析HTML Documen得到我们需要的信息。
① xpath使用
可以提前安装xpath插件也可以自己从HTML源码解析。
1打开chrome浏览器
2点击右上角小圆点
3更多工具
4扩展程序
5拖拽xpath插件到扩展程序中
6如果crx文件失效需要将后缀修改zip
7再次拖拽
8关闭浏览器重新打开
9ctrl shift x
10出现小黑框1.安装lxml库
pip install lxml ‐i https://pypi.douban.com/simple2.导入lxml.etree
from lxml import etree3.etree.parse() 解析本地文件得到HTML Document
html_tree etree.parse(XX.html)4.etree.HTML() 服务器响应文件得到HTML Document
html_tree etree.HTML(response.read().decode(utf‐8)5.html_tree.xpath(xpath路径)解析目标信息
② 基本语法
xpath基本语法
1.路径查询
//查找所有子孙节点不考虑层级关系
/ 找直接子节点2.谓词查询
//div[id]
//div[idmaincontent]3.属性查询
//class4.模糊查询
//div[contains(id, he)]
//div[starts‐with(id, he)]5.内容查询
//div/h1/text()6.逻辑运算
//div[idhead and classs_down]
//title | //price③ xpath使用案例
查找ul下面的li
# li_list tree.xpath(//body/ul/li)
查找所有有id的属性的li标签
# text()获取标签中的内容
# li_list tree.xpath(//ul/li[id]/text())找到id为l1的li标签 注意引号的问题
# li_list tree.xpath(//ul/li[idl1]/text())
查找到id为l1的li标签的class的属性值
# li tree.xpath(//ul/li[idl1]/class)
查询id中包含l的li标签
# li_list tree.xpath(//ul/li[contains(id,l)]/text())查询id的值以l开头的li标签
# li_list tree.xpath(//ul/li[starts-with(id,c)]/text())
查询id为l1和class为c1的
# li_list tree.xpath(//ul/li[idl1 and classc1]/text())li_list tree.xpath(//ul/li[idl1]/text() | //ul/li[idl2]/text())# 判断列表的长度
print(li_list)
print(len(li_list))④ 爬取站长素材情侣图片案例
# (1) 请求对象的定制
# 2获取网页的源码
# 3下载
# 需求 下载的前十页的图片
# https://sc.chinaz.com/tupian/qinglvtupian.html 1
# https://sc.chinaz.com/tupian/qinglvtupian_page.htmlimport urllib.request
from lxml import etreedef create_request(page):if(page 1):url https://sc.chinaz.com/tupian/qinglvtupian.htmlelse:url https://sc.chinaz.com/tupian/qinglvtupian_ str(page) .htmlheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36,}request urllib.request.Request(url url, headers headers)return requestdef get_content(request):response urllib.request.urlopen(request)content response.read().decode(utf-8)return contentdef down_load(content):
# 下载图片# urllib.request.urlretrieve(图片地址,文件的名字)tree etree.HTML(content)name_list tree.xpath(//div[classtupian-list com-img-txt-list]//img/alt)# 一般设计图片的网站都会进行懒加载src_list tree.xpath(//div[classtupian-list com-img-txt-list]//img/data-original)for i in range(len(name_list)):name name_list[i]src src_list[i]url https: srcurllib.request.urlretrieve(urlurl,filename./loveImg/ name .jpg)if __name__ __main__:start_page int(input(请输入起始页码))end_page int(input(请输入结束页码))for page in range(start_page,end_page1):# (1) 请求对象的定制request create_request(page)# 2获取网页的源码content get_content(request)# 3下载down_load(content)