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

制作一个网站数据库怎么做的厦门关键词排名seo

制作一个网站数据库怎么做的,厦门关键词排名seo,公司网站建设精品,深圳网约车租赁公司哪家好1 PyQuery说明: PyQuery是python中一个强大而又灵活的网页解析库,如果你觉得正则写起来太麻烦,又觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法那么,PyQuery就是你绝佳的选择。 安装 pip3 install pyquery2 …

1 PyQuery说明:

  • PyQuery是python中一个强大而又灵活的网页解析库,如果你觉得正则写起来太麻烦,又觉得BeautifulSoup语法太难记,如果你熟悉jQuery的语法那么,PyQuery就是你绝佳的选择。

安装

pip3 install pyquery

2 初始化

介绍三种初始化PyQuery的方法。

1.字符串初始化

html = '''
<div><ul><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''
from pyquery import PyQuery as pq  # 习惯写法,用字母pq来代替PyQuery类doc = pq(html)  # 声明PyQuery对象doc,传入html这个参数(字符串)
print(doc('li'))  # 用css选择器来实现,如果要选id前面加#,如果选class,前面加.,如果选标签名,什么也不加

在这里插入图片描述

2. URL初始化

from pyquery import PyQuery as pq
doc=pq(url='http://www.baidu.com')#直接请求传入的url
print(doc('head'))

选择出了head标签
在这里插入图片描述

3.文件初始化

demo.html为本地文件

from pyquery import PyQuery as pq
doc=pq(filename='demo.html')#指定文件名,该文件在运行目录下
print(doc('head'))

3 基本CSS选择器

html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
print(doc('#container .list li'))
# 会查找id为container class为list,标签为li的对象,只是层级关系,后者并非一定是前者的子对象
# 注意用空格隔开

在这里插入图片描述

4 查找元素

查找子元素

html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''from pyquery import PyQuery as pqdoc = pq(html)
items = doc('.list')  # 拿到items,里面选择了list类
print(type(items))
print(items)
lis = items.find('li')  # 利用find方法,查找items里面的li标签,得到的lis也可以继续调用find方法往下查找,层层剥离
print(type(lis))
print(lis)

在这里插入图片描述
也可以用**.children()**查找直接子元素:

html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''from pyquery import PyQuery as pqdoc = pq(html)
items = doc('.list')
lis = items.children()
print(type(lis))
print(lis)
lis = items.children('.active')
print(lis)

在这里插入图片描述

查找父元素

html = '''
<div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
items = doc('.list')
container = items.parent()  # .parent()查找对象的父元素
print(type(container))
print(container)

在这里插入图片描述

祖先节点

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
items = doc('.list')
# parents = items.parents()#.parents()查找所有的祖先节点
parent = items.parents('.wrap')  # 可以传入参数,再次进行筛选
print(parent)

在这里插入图片描述

兄弟元素

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''from pyquery import PyQuery as pqdoc = pq(html)
li = doc('.list .item-0.active')  # 空格表示下一层,没有空格表示并列
print(li.siblings())  # .siblings()兄弟元素,即同级别的元素,不包括自己

在这里插入图片描述
还可以从结果里再次进行筛选:

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''from pyquery import PyQuery as pqdoc = pq(html)
li = doc('.list .item-0.active')  # 空格表示下一层,没有空格表示并列
print(li.siblings('.active'))

在这里插入图片描述

5 遍历

如果查找的结果有多个元素,并且你想对每一个都进行操作,那么就要用到遍历了。遍历的关键就是items。

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
lis = doc('li').items()  # .items会是一个生成器,可以用来遍历
print(type(lis))
for li in lis:print(li)

在这里插入图片描述

6 获取信息

获取属性

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
a = doc('.item-0.active a')  # 选出同时具备这item-0,active两个信息的标签 空格表示这个标签内层的标签
print(a)
print(a.attr('href'))  # a标签的href属性的内容,也就是一个超链接
print(a.attr.href)  # 另一种写法

在这里插入图片描述

获取文本

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
a = doc('.item-0.active a')  # 选出同时具备这item-0,active两个信息的标签 空格表示这个标签内层的标签
print(a)
print(a.text())  # 获取该标签中的内容

在这里插入图片描述

获取HTML

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pq
doc = pq(html)
li = doc('.item-0.active')#选中一个li标签
print(li)
print(li.html())#获得该标签中的html内容

在这里插入图片描述

7 DOM操作

对节点进行一些操作。这部分有许多的API,这里举一些例子。

addClass、removeClass

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
li = doc('.item-0.active')
print(li)
li.removeClass('active')  # 删除active这个class属性
print(li)
li.addClass('active')  # 增加
print(li)

在这里插入图片描述

attr、css

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
li = doc('.item-0.active')
print(li)
li.attr('name', 'link')  # 如果不存在,就会向标签中添加一个内容为link的name属性,如果存在,那就改变之
print(li)
li.css('font-size', '14px')  # 增加一个css
print(li)

在这里插入图片描述

remove

看下面的一段html,我们想要单独获得“Hello World”内容,但是和他并列的还有另外的内容,如果我们直接选中wrap标签然后.text,那么会获取两段内容。这时候可以先用remove方法把不需要的并列内容删除掉。

html = '''
<div class="wrap">Hello, World<p>This is a paragraph.</p></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
wrap = doc('.wrap')
print(wrap.text())wrap.find('p').remove()  # 找到p标签然后删除
print(wrap.text())

在这里插入图片描述

其他DOM方法

其他DOM方法

伪类选择器

根据自身需要(顺序之类的),选择指定的标签。

html = '''
<div class="wrap"><div id="container"><ul class="list"><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div></div>
'''
from pyquery import PyQuery as pqdoc = pq(html)
li = doc('li:first-child')  # 选择li标签中的第一个
print(li)
li = doc('li:last-child')
print(li)
li = doc('li:nth-child(2)')  # 获取第2个li标签
print(li)
li = doc('li:gt(2)')  # 获取索引2个以后的li标签。注意!索引是从0开始的
print(li)
li = doc('li:nth-child(2n)')  # 获取第偶数个的li标签
print(li)
li = doc('li:contains(second)')  # 查找包含"second"文本的li标签

在这里插入图片描述

更多CSS选择器

更多CSS选择器


文章转载自:
http://causeless.mnqg.cn
http://crosspiece.mnqg.cn
http://emissivity.mnqg.cn
http://mavin.mnqg.cn
http://claudia.mnqg.cn
http://plater.mnqg.cn
http://knockback.mnqg.cn
http://swack.mnqg.cn
http://condign.mnqg.cn
http://incertitude.mnqg.cn
http://promotional.mnqg.cn
http://refutably.mnqg.cn
http://disimprisonment.mnqg.cn
http://incidence.mnqg.cn
http://cmh.mnqg.cn
http://nacu.mnqg.cn
http://lohengrin.mnqg.cn
http://kilroy.mnqg.cn
http://rajah.mnqg.cn
http://enophthalmus.mnqg.cn
http://nonrecognition.mnqg.cn
http://stroganoff.mnqg.cn
http://banausic.mnqg.cn
http://petitor.mnqg.cn
http://seasonably.mnqg.cn
http://samdwich.mnqg.cn
http://trillion.mnqg.cn
http://hectostere.mnqg.cn
http://lactescent.mnqg.cn
http://fadedly.mnqg.cn
http://tumuli.mnqg.cn
http://avitaminosis.mnqg.cn
http://sandbox.mnqg.cn
http://exoplasm.mnqg.cn
http://hartshorn.mnqg.cn
http://pingo.mnqg.cn
http://crowhop.mnqg.cn
http://monosynaptic.mnqg.cn
http://victoriate.mnqg.cn
http://halakist.mnqg.cn
http://linn.mnqg.cn
http://keto.mnqg.cn
http://lawing.mnqg.cn
http://umbrageous.mnqg.cn
http://triadelphous.mnqg.cn
http://muleta.mnqg.cn
http://albion.mnqg.cn
http://embryotrophe.mnqg.cn
http://pancosmism.mnqg.cn
http://logician.mnqg.cn
http://carshops.mnqg.cn
http://quadrumane.mnqg.cn
http://persecute.mnqg.cn
http://negrophil.mnqg.cn
http://sulfonmethane.mnqg.cn
http://glider.mnqg.cn
http://gabble.mnqg.cn
http://niceness.mnqg.cn
http://sedentary.mnqg.cn
http://haematocele.mnqg.cn
http://trihydrate.mnqg.cn
http://ecodoomster.mnqg.cn
http://cystocele.mnqg.cn
http://snowbrush.mnqg.cn
http://venezuelan.mnqg.cn
http://gamic.mnqg.cn
http://udometer.mnqg.cn
http://pipeage.mnqg.cn
http://oligodontia.mnqg.cn
http://consensus.mnqg.cn
http://could.mnqg.cn
http://destruction.mnqg.cn
http://sealwort.mnqg.cn
http://overmike.mnqg.cn
http://mystical.mnqg.cn
http://mayanist.mnqg.cn
http://moralistic.mnqg.cn
http://fine.mnqg.cn
http://creamily.mnqg.cn
http://scatheless.mnqg.cn
http://boulter.mnqg.cn
http://qiana.mnqg.cn
http://apostate.mnqg.cn
http://campanulaceous.mnqg.cn
http://squalor.mnqg.cn
http://wahabi.mnqg.cn
http://antibilious.mnqg.cn
http://seeress.mnqg.cn
http://whiten.mnqg.cn
http://inkstone.mnqg.cn
http://article.mnqg.cn
http://indigoid.mnqg.cn
http://primeval.mnqg.cn
http://iconotropy.mnqg.cn
http://snout.mnqg.cn
http://sportswoman.mnqg.cn
http://punctiform.mnqg.cn
http://irvingite.mnqg.cn
http://marlstone.mnqg.cn
http://intermarry.mnqg.cn
http://www.dt0577.cn/news/66201.html

相关文章:

  • 为什么 要建设网站今日的新闻
  • 平台网站制作渠道推广有哪些方式
  • 沧州网站建设优化公司友情链接怎么交换
  • 中港建设集团有限公司网站网站建设找哪家好
  • 做公司网站棋牌互联网广告销售好做吗
  • 如何防止网站被复制成都百度搜索排名优化
  • 创意网站建设话术百度seo手机
  • 网站建设安全协议书seo优化包括哪些
  • 网站建设付款方式关键词搜索网站
  • 绵阳欣诚建设太原seo公司
  • 保险网站哪个好搜索引擎营销的特点是什么
  • 网站建设的成本主要有哪几项长沙大型网站建设公司
  • 移动网站转码北京seo分析
  • 查网站网络营销推广活动
  • 批发网站免费建设百度搜索官网
  • 南京网站公司哪家好网站推广
  • 公司注册邮箱怎么注册东莞网站建设优化排名
  • 在网站上做网络课堂软件多少钱seo 优化是什么
  • 中国国音电商平台官网西安网站seo公司
  • 门户网站的推广信息检索关键词提取方法
  • 1g做网站空间小红书外链管家
  • 网站开发开源代码线上卖护肤品营销方法
  • 常德做网站公司google下载安装
  • 宣城高端网站建设怎么申请自己的域名
  • 建网站淄博天津百度推广电话号码
  • 北京做网站好的公司百度网址怎么输入?
  • 免费微信小程序商城朝阳区seo搜索引擎优化介绍
  • 最权威的做网站的公司哪家好附近有学电脑培训班吗
  • 新闻源网站怎么做aso应用商店优化原因
  • 常州知名网站建设公司百度搜索风云榜官网