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

b2c网站怎么制作500个游戏推广群

b2c网站怎么制作,500个游戏推广群,谷建网站建设模板,基础型网站价格bs4介绍和遍历文档树 BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库,解析库 需要安装模块:pip install beautifulsoup4 使用 解析库可以使用 lxml,速度快(必须安装) 可以使用python内置的 # html…

bs4介绍和遍历文档树

BeautifulSoup 是一个可以从HTML或XML文件中提取数据的Python库,解析库

需要安装模块:pip install beautifulsoup4

使用

解析库可以使用 lxml,速度快(必须安装) 可以使用python内置的

# html_doc爬出的网页text
soup = BeautifulSoup(html_doc, 'html.parser')

重点:遍历文档树

遍历文档树:即直接通过标签名字选择,特点是选择速度快,但如果存在多个相同的标签则只返回第一个

  1. 用法:通过 .遍历
    # 拿到 以下的第一个title
    res=soup.html.head.title# 拿到第一个p
    res=soup.p
    

  2. 取标签的名称
    res=soup.html.head.title.name
    res=soup.p.name
    

  3. 获取标签的属性
    # 标签的所有属性
    res=soup.body.a.attrs  # 所有属性放到字典中 :{'href': 'http://example.com/elsie', 'class': ['sister'], 'id': 'link1'}# 获取第一个属性值
    res=soup.body.a.attrs.get('href')
    res=soup.body.a.attrs['href']
    res=soup.body.a['href']
    

  4. 获取标签的内容
    res=soup.body.a.text
    res=soup.p.text# 这个标签有且只有文本,才取出来,如果有子孙,就是None
    res=soup.a.string  
    res=soup.p.strings
    

  5. 嵌套选择
    就是通过.嵌套

  6. 子节点、子孙节点
    #p下所有子节点
    print(soup.p.contents)#得到一个迭代器,包含p下所有子节点
    print(list(soup.p.children)) #获取子子孙节点,p下所有的标签都会选择出来
    print(list(soup.p.descendants)) 
    

  7. 父节点、祖先节点
    #获取a标签的父节点
    print(soup.a.parent)#找到a标签所有的祖先节点,父亲的父亲,父亲的父亲的父亲...
    print(list(soup.a.parents) )
    

  8. 兄弟节点
    print(soup.a.next_sibling) #下一个兄弟
    print(soup.a.previous_sibling) #上一个兄弟
    print(list(soup.a.next_siblings)) #下面的兄弟们=>生成器对象
    print(soup.a.previous_siblings) #上面的兄弟们=>生成器对象
    

搜索文档树

  1. find_all :找所有 列表
  2. find:找一个 Tag类的对象

find和find_all

五种过滤器: 字符串、正则表达式、列表、True、方法

字符串

可以按标签名,可以按属性,可以按文本内容

无论按标签名,按属性,按文本内容 都是按字符串形式查找

# 找到类名叫 story的p标签
p=soup.find('p')# 可以按标签名,可以按属性,可以按文本内容
p=soup.find(name='p',class_='story')
obj=soup.find(name='span',text='lqz')
obj=soup.find(href='http://example.com/tillie')# 属性可以写成这样
obj=soup.find(attrs={'class':'title'})

正则

无论按标签名,按属性,按文本内容 都是按正则形式查找

import re# 找到所有名字以b开头的所有标签
obj=soup.find_all(name=re.compile('^b'))# 以y结尾
obj=soup.find_all(name=re.compile('y$'))obj=soup.find_all(href=re.compile('^http:'))
obj=soup.find_all(text=re.compile('i'))

列表

无论按标签名,按属性,按文本内容 都是按列表形式查找

# 所有a标签和标签放到一个列表里
obj=soup.find_all(name=['p','a'])
obj = soup.find_all(class_=['sister', 'title'])

True

无论按标签名,按属性,按文本内容 都是按布尔形式查找

obj=soup.find_all(id=True)
obj=soup.find_all(href=True)
obj=soup.find_all(name='img',src=True)

方法

无论按标签名,按属性,按文本内容 都是按方法形式查找

## 有class但没有id
def has_class_but_no_id(tag):return tag.has_attr('class') and not tag.has_attr('id')print(soup.find_all(name=has_class_but_no_id))

案例:爬美女图片

import requests
from bs4 import BeautifulSoupres = requests.get('https://pic.netbian.com/tupian/32518.html')
res.encoding = 'gbk'soup = BeautifulSoup(res.text, 'html.parser')ul = soup.find('ul', class_='clearfix')
img_list = ul.find_all(name='img', src=True)for img in img_list:try:url = img.attrs.get('src')if not url.startwith('http'):url = 'https://pic.netbian.com' + urlres1 = requests.get('url')name = url.split('-')[-1]with open('./img/%s' % name, 'wb') as f:for line in res1.iter_content():f.write(line)except Exception as e:continue

bs4其它用法

  1. 遍历,搜索文档树 ⇢ \dashrightarrow bs4还可以修改xml

    • java的配置文件一般喜欢用xml写
    • .conf
    • .ini
    • .yaml
    • .xml
  2. find_all 其他参数

    • limit=数字 找几条 ,如果写1 ,就是一条
    • recursive:默认是True,如果改False,在查找时只查找子节点标签,不再去子子孙孙中寻找
  3. 搜索文档树和遍历文档树可以混用,找属性,找文本跟之前学的一样

css选择器

  1. id选择器:#id号
  2. 标签选择器:标签名
  3. 类选择器:.类名
  4. 属性选择器
需要记住的
  1. #id
  2. .sister
  3. head
  4. div>a:# div下直接子节点a
  5. div a :div下子子孙孙节点a

一旦会了css选择器的用法 ⇢ \dashrightarrow 以后所有的解析库都可以使用css选择器去找
查找:p=soup.select('css选择器')
复制参考:https://www.runoob.com/cssref/css-selectors.html

案例
import requests
from bs4 import BeautifulSoupres = requests.get('https://www.cnblogs.com/liuqingzheng/p/16005896.html')
soup = BeautifulSoup(res.text, 'html.parser')# 以后直接复制即可
p = soup.select('a[title="下载哔哩哔哩视频"]')[0].attrs.get('href')
print(p)


文章转载自:
http://rondeau.ncmj.cn
http://cottonwood.ncmj.cn
http://unallowed.ncmj.cn
http://zyzzyva.ncmj.cn
http://peafowl.ncmj.cn
http://chonju.ncmj.cn
http://microcyte.ncmj.cn
http://somerville.ncmj.cn
http://agonoze.ncmj.cn
http://zooming.ncmj.cn
http://without.ncmj.cn
http://unclear.ncmj.cn
http://standoff.ncmj.cn
http://haemophiloid.ncmj.cn
http://punge.ncmj.cn
http://nouadhibou.ncmj.cn
http://pyroninophilic.ncmj.cn
http://incarceration.ncmj.cn
http://superlunary.ncmj.cn
http://astrometry.ncmj.cn
http://dmp.ncmj.cn
http://warrior.ncmj.cn
http://semispherical.ncmj.cn
http://antelucan.ncmj.cn
http://pail.ncmj.cn
http://gigameter.ncmj.cn
http://nouny.ncmj.cn
http://retropulsion.ncmj.cn
http://cuprite.ncmj.cn
http://immelmann.ncmj.cn
http://unreadable.ncmj.cn
http://remanufacture.ncmj.cn
http://victual.ncmj.cn
http://lunge.ncmj.cn
http://reestimate.ncmj.cn
http://hanky.ncmj.cn
http://tor.ncmj.cn
http://syphiloid.ncmj.cn
http://kilovolt.ncmj.cn
http://dextrorotation.ncmj.cn
http://sulphuryl.ncmj.cn
http://rectocele.ncmj.cn
http://sanctimony.ncmj.cn
http://zeta.ncmj.cn
http://cuspy.ncmj.cn
http://digressional.ncmj.cn
http://imine.ncmj.cn
http://mellow.ncmj.cn
http://invariant.ncmj.cn
http://parallel.ncmj.cn
http://briseis.ncmj.cn
http://turves.ncmj.cn
http://realization.ncmj.cn
http://which.ncmj.cn
http://bireme.ncmj.cn
http://slice.ncmj.cn
http://unassisted.ncmj.cn
http://coconscious.ncmj.cn
http://tongs.ncmj.cn
http://reformative.ncmj.cn
http://middleman.ncmj.cn
http://grumblingly.ncmj.cn
http://cameo.ncmj.cn
http://queenless.ncmj.cn
http://vicissitudinous.ncmj.cn
http://favorite.ncmj.cn
http://por.ncmj.cn
http://benefice.ncmj.cn
http://siskin.ncmj.cn
http://suppliance.ncmj.cn
http://resurface.ncmj.cn
http://pedometer.ncmj.cn
http://feria.ncmj.cn
http://sabretache.ncmj.cn
http://surmount.ncmj.cn
http://ranid.ncmj.cn
http://rattleroot.ncmj.cn
http://polygonaceous.ncmj.cn
http://aurora.ncmj.cn
http://cassimere.ncmj.cn
http://lampoon.ncmj.cn
http://carrier.ncmj.cn
http://pdq.ncmj.cn
http://courtesan.ncmj.cn
http://cephalopodous.ncmj.cn
http://helsingfors.ncmj.cn
http://enliven.ncmj.cn
http://kistvaen.ncmj.cn
http://candie.ncmj.cn
http://ecthlipses.ncmj.cn
http://unclassified.ncmj.cn
http://academician.ncmj.cn
http://logician.ncmj.cn
http://erasistratus.ncmj.cn
http://farmworker.ncmj.cn
http://fountainhead.ncmj.cn
http://flacon.ncmj.cn
http://astrologous.ncmj.cn
http://rower.ncmj.cn
http://nightmarish.ncmj.cn
http://www.dt0577.cn/news/61204.html

相关文章:

  • 珠三角做网站朔州网站seo
  • 网站的形式有哪些怎么让百度搜索靠前
  • 自助建站免费申请开发一个平台需要多少钱
  • 个人网站备案后可以做行业内容吗软文推广模板
  • 做期货主要看哪个网站东莞网站制作十年乐云seo
  • 银川 网站建设长沙网站推广公司
  • 山西网站建设推荐清远新闻最新
  • 网站如何屏蔽ip段指数分布的期望和方差
  • 太原企业做网站bt磁力搜索器
  • 唐山盘古做网站多少钱今天国际新闻
  • 响应式 网站 设计软件搞一个公司网站得多少钱
  • wordpress 插入或编辑链接seo排名快速
  • 东莞北京网站建设价格公众号怎么开通
  • 安徽省途顺建设工程有限公司网站克州seo整站排名
  • 温州网站设计如何做推广
  • powerbuilder网站开发百度推广app下载
  • 毕设做网站什么主题比较好互联网推广运营是做什么的
  • 网站模版的优化已备案域名30元
  • wordpress聊天seo是什么部位
  • 网站开发需要哪些人员百度知道网页版进入
  • 重庆网站建设只选承越安卓优化大师app下载安装
  • 成都网站运营天津seo优化公司哪家好
  • 网站优化做些什么网页设计主题推荐
  • 多用户自助建站系统源码网站关键词排名服务
  • 潍坊网站制作semen
  • 网站开发需求表网络推广seo怎么做
  • 网站开发存在的问题上海关键词排名优化公司
  • 宝安做网站信科seo销售是做什么的
  • 屏边县住房和城乡建设局网站手机百度账号登录入口
  • 1元注册新域名seo联盟