当前位置: 首页 > news >正文

网站建设xywlcn定制产品网站有哪些

网站建设xywlcn,定制产品网站有哪些,在线设计平台效果图,网站优化制作目录 一、Xpath插件的安装 二、安装 lxml 三、Xpath解析文件 1.解析本地文件 #xff08;1#xff09;导入本地文件 #xff08;2#xff09;解析本地文件 2.服务器文件解析 #xff08;1#xff09;获取网页源码 #xff08;2#xff09;解析服务器响应文件 …目录 一、Xpath插件的安装 二、安装 lxml 三、Xpath解析文件 1.解析本地文件 1导入本地文件 2解析本地文件 2.服务器文件解析 1获取网页源码 2解析服务器响应文件 四、Xpath-抓取图片 1.设置url 2.请求对象定制 3.获取网页源码 4.下载图片 5.调用 参考 Xpath可以解析两种文件 etree.parse() 解析本地文件html_tree etree.parse( xx.html)etree.HTML()服务器响应文件html_tree etree.HTML(response.read( ).decode( utf-8) Xpath基本语法 html_tree.xpath(xpath路经) 1.路径查询         //: 查找所有子孙节点不考虑层级关系子和孙所有节点         /: 找直接子节点 2.谓词查询         //div[id]         //div[idmaincontent] 3.属性查询         //div/class 4.模湖查询         //div[contains(idhe)]         //div[starts-with(id,he)] 5.内容查询         //div/h1/text() 6.逻辑运算         //div[idhead” and classs_down]         //title | //price 一、Xpath插件的安装 进入chrome应用商店 搜索 Xpath helpler  选择这个安装  怎么看扩展是否安装成功呢 随便打开一个页面然后 按快捷键 CtrlShiftX 出现这个黑色的框框就算安装成功了 二、安装 lxml 在环境中 pip install lxml 三、Xpath解析文件 1.解析本地文件 1导入本地文件 from lxml import etree# Xpath解析有两种解析文件 # 1.本地文件 etree.parse( xx.html) # 2.服务器相应数据 response.read().decode(utf-8) 【主要用这个】 etree.HTML(response.read( ).decode(utf-8)tree etree.parse(_070.html) print(tree) 报错 需要将本地文件中的meta加一个结束标签 然后重新运行就可以了 2解析本地文件 本地的 HTML 文件  内容查询 # text() 获取标签中的内容 # 路径查询 # 查找 ul 下面的 li # li_list tree.xpath(//body/ul/li) li_list tree.xpath(//body/ul/li/text()) print(li_list) 不用内容查询 使用内容查询 路径查询 # text() 获取标签中的内容 # 路径查询 # 查找 ul 下面的 li li_list tree.xpath(//body/ul/li/text()) print(li_list) 谓词查询 # 谓词查询 # 查找所有有id属性的 li 标签 li_list tree.xpath(//ul/li[id]/text()) print(li_list)# 谓词查询 # 查找id为 ‘l1’ 的 li 标签 li_list tree.xpath(//ul/li[idl1]/text()) print(li_list) 属性查询 # 属性查询 # 查询li标签的class属性的属性值 li_list tree.xpath(//ul/li/class) print(li_list) # 查询id 为 ‘l1’ 的li标签的class属性的属性值 li_list tree.xpath(//ul/li[idl1]/class) print(li_list) 模糊查询 # 模糊查询 # 查找 li 标签的id中包含 ‘l’ 的标签 li_list tree.xpath(//ul/li[contains(id,l)]/text()) print(li_list) # 查找 li 标签的id中以‘s’开头的标签 li_list tree.xpath(//ul/li[starts-with(id,s)]/text()) print(li_list) 逻辑查询 # 逻辑运算 # 查询li标签中id为‘l1’且class的属性值为‘c1’的标签 li_list tree.xpath(//ul/li[idl1 and classc1]/text()) print(li_list) # 查询li标签中id为‘s1’或者class为‘c1’的标签 li_list tree.xpath(//ul/li[ids1]/text() | //ul/li[classc1]/text()) print(li_list) 2.服务器文件解析 1获取网页源码 # 1.获取网页的源码 url https://www.baidu.com/ headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76 } # 请求对象定制 request urllib.request.Request(url, headersheaders) # 模拟客户端向服务器发送请求 response urllib.request.urlopen(request) # 获取网页源码 content response.read().decode(utf-8) print(content) 2解析服务器响应文件 # 解析服务器响应的文件 tree etree.HTML(content) 我们应该如何获取Xpath呢 之前安装的Xpath扩展就起作用了 我们 Ctrl Shift X打开扩展 右键页面打开检查定位到“百度一下” 【我们要想要获取“百度一下”这个字段】 然后我们就可以根据检查中html标签的描述在黑色框的左侧写 查询代码右侧则显示查询结果查询正确时右侧框中则会出现你想要的东西我们复制这个Xpath路径。 将复制的Xpath路径填入代码运行就可以看到我们已经成功获取了“百度一下这个字段” # 打印 result tree.xpath(//input[idsu]/value) print(result)还有一种获取Xpath的方法 右键网页点击检查点击箭头然后选中页面中“百度一下”这个框检查中就会点位到这个框的位置然后右键这个位置选择copy选择copy Xpath就会得到一个定位到百度一下这个框的代码  //*[idsu] 然后补充自己想要获取的值value就可以 result tree.xpath(//*[idsu]/value) print(result) 本地文件解析完整代码 from lxml import etree# Xpath解析有两种解析文件 # 1.本地文件 etree.parse( xx.html) # 2.服务器相应数据 response.read().decode(utf-8) 【主要用这个】 etree.HTML(response.read( ).decode(utf-8)############################## ######## 本地文件解析 ######## ############################# # 导入 本地html文件 tree etree.parse(_070.html)# text() 获取标签中的内容 # 路径查询 # 查找 ul 下面的 li # li_list tree.xpath(//body/ul/li/text())# 谓词查询 # 查找所有有id属性的 li 标签 # li_list tree.xpath(//ul/li[id]/text()) # 查找id为 ‘l1’ 的 li 标签 # li_list tree.xpath(//ul/li[idl1]/text())# 属性查询 # 查询li标签的class属性的属性值 # li_list tree.xpath(//ul/li/class) # 查询id 为 ‘l1’ 的li标签的class属性的属性值 # li_list tree.xpath(//ul/li[idl1]/class)# 模糊查询 # 查找 li 标签的id中包含 ‘l’ 的标签 # li_list tree.xpath(//ul/li[contains(id,l)]/text()) # 查找 li 标签的id中以‘s’开头的标签 # li_list tree.xpath(//ul/li[starts-with(id,s)]/text())# 逻辑运算 # 查询li标签中id为‘l1’且class的属性值为‘c1’的标签 # li_list tree.xpath(//ul/li[idl1 and classc1]/text()) # 查询li标签中id为‘s1’或者class为‘c1’的标签 li_list tree.xpath(//ul/li[ids1]/text() | //ul/li[classc1]/text()) print(li_list) 服务器文件解析完整代码 from lxml import etree import urllib.request############################### ####### 解析服务器文件 ########## ################################ 1.获取网页的源码 url https://www.baidu.com/ headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76 } # 请求对象定制 request urllib.request.Request(url, headersheaders) # 模拟客户端向服务器发送请求 response urllib.request.urlopen(request) # 获取网页源码 content response.read().decode(utf-8)# 2.解析服务器响应文件 # 解析服务器响应的文件 tree etree.HTML(content)# 打印 Xpath 的返回值是一个列表类型的数据 # result tree.xpath(//input[idsu]/value) result tree.xpath(//*[idsu]/value) print(result)四、Xpath-抓取图片 抓取站长素材网站的图片 1.设置url 查找每一页 url 的规律 # 找 url 的规律 # url : https://sc.chinaz.com/tupian/cixiutuan.html page 1 # url : https://sc.chinaz.com/tupian/cixiutuan_2.html page 2 # url : https://sc.chinaz.com/tupian/cixiutuan_3.html page 3 2.请求对象定制 def create_request(page):if page 1:url https://sc.chinaz.com/tupian/cixiutuan.htmlelse:url https://sc.chinaz.com/tupian/cixiutuan_str(page).htmlheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76}request urllib.request.Request(url, headersheaders)return request 3.获取网页源码 def get_content(request):response urllib.request.urlopen(request)content response.read().decode(utf-8)return content 4.下载图片 通过Xpath获取图片的链接和图片名称 右键检查 -- 定位到图片的标签行 -- 在Xpath扩展的左侧框中写入Xpath -- 右侧与想要的数据吻合 -- 复制这个Xpath 但是有时候在网页上获取的Xpath和通过response获取Xpath是不一样的如果没有返回内容就把网页下载下来看一下Xpath。 有时候src并不是真实的路径可能会在‘data-original’中重点是要检查content中的内容。 有的网站也会存在懒加载src的属性就会变成src2这个问题就需要根据从content和页面多加辨别。 def download(content):# 下载图片# urllib.request.urlretrieve(图片地址, 图片名称) # 这两项我们都没有,那我们就要先获取tree etree.HTML(content)src_list tree.xpath(//div[classtupian-list com-img-txt-list]/div/img/data-original)name_list tree.xpath(//div[classtupian-list com-img-txt-list]/div/img/alt)for i in range(len(name_list)):name name_list[i]src src_list[i]url https: srcurllib.request.urlretrieve(urlurl, filename_072_download_img/name.png) 5.调用 start_page int(input(请输入起始页码)) end_page int(input(请输入结束页码)) for page in range(start_page, end_page1):# 请求对象定制response create_request(page)# 获取网页源码content get_content(response)# 下载download(content)完整代码 # 站长素材 https://sc.chinaz.com/ # 站长素材 -- 高清图片 -- 选择一个 -- 下载前十页import urllib.request from lxml import etree# 找 url 的规律 # url : https://sc.chinaz.com/tupian/cixiutuan.html page 1 # url : https://sc.chinaz.com/tupian/cixiutuan_2.html page 2 # url : https://sc.chinaz.com/tupian/cixiutuan_3.html page 3def create_request(page):if page 1:url https://sc.chinaz.com/tupian/cixiutuan.htmlelse:url https://sc.chinaz.com/tupian/cixiutuan_str(page).htmlheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 Edg/118.0.2088.76}request urllib.request.Request(url, headersheaders)return requestdef get_content(request):response urllib.request.urlopen(request)content response.read().decode(utf-8)return contentdef download(content):# 下载图片# urllib.request.urlretrieve(图片地址, 图片名称) # 这两项我们都没有,那我们就要先获取tree etree.HTML(content)src_list tree.xpath(//div[classtupian-list com-img-txt-list]/div/img/data-original)name_list tree.xpath(//div[classtupian-list com-img-txt-list]/div/img/alt)for i in range(len(name_list)):name name_list[i]src src_list[i]url https: srcurllib.request.urlretrieve(urlurl, filename_072_download_img/name.png)start_page int(input(请输入起始页码)) end_page int(input(请输入结束页码)) for page in range(start_page, end_page1):# 请求对象定制response create_request(page)# 获取网页源码content get_content(response)# 下载download(content)参考 尚硅谷Python爬虫教程小白零基础速通含python基础爬虫案例
http://www.zqtcl.cn/news/410894/

相关文章:

  • 购物网站建设资讯原创文章代写
  • 门票预订网站建设wordpress siren主题
  • 单位建设网站装修公司需要什么资质
  • 做做做网站做网站赚外快
  • 网站备案后应该做什么网站流量监测
  • 开发网站用什么语言做名片的网站叫什么来着
  • 织梦做网站好不好iis中的网站启动不了
  • 临汾住房与城乡建设厅网站迎访问中国建设银行网站_
  • 织梦做的网站首页幻灯片怎么不能显示北大青鸟网站建设课程
  • 做淘客的网站有哪些延安市住建建设网站
  • 南京林业大学实验与建设网站现在都用什么软件搜索附近的人
  • 建站系统wordpress下载亚马逊雨林十大恐怖生物
  • 凡科网做网站怎么样专业团队电影
  • 有什么有趣的网站移动网站排名怎么做
  • 深圳网站建设专家wordpress 4.5下载地址
  • 网站建设公司公司我我提供一个平台wordpress如何去版权信息
  • seo怎么给网站做外链受欢迎的网站建设教程
  • 网站建设使用多语言河南电商网站设计
  • 网站搭建有免费的吗网站地图生成代码
  • 建设公司网站要注意什么投资小利润高的小生意
  • 网站建设需要做哪些工作做胃镜需那好天津津门网站A
  • 做网站申请域名的流程辽宁省工程造价网
  • 网站系统维护一般多长时间金华高端网站设计
  • 做网站公司销售开场白企业网站规划与开发
  • 兰州新区建站不锈钢网站建设
  • 淘宝小网站怎么做的电商网站有哪些
  • 哪些网站可以做画赚钱wordpress go跳转页
  • 怎么做新网站上线通稿深圳罗湖区网站建设公司
  • php 企业网站做网站可以赚钱吗
  • 局域网视频网站建设点播系统长沙3合1网站建设价格