首页 > 编程知识 正文

python编写html文件,python bs4

时间:2023-05-06 16:48:18 阅读:166422 作者:78

Beautiful Soup概述(简称bs4 )。

一种可以从HTML或XML文件中提取数据的Python库,可以使用喜爱的转换器导航、搜索和修改常规文档,从而节省时间

所有对象可以归纳为四种。

Tag :标签对象,例如

yoyoketang

这是标签中的NavigableString。 文字对象,例如这里是我的微信公众号: yoyoketagn

beautiful soup :整个html对象

Comment :评论对象,例如! -- for HTML5 --,那其实是特殊的NavigableString

安装pip install beautifulsoup4

1 .从标签的名称中获取tag对象。 如果有多个相同的标记名称,则会返回第一个soup.head

2、获取标签的文字文本,soup.head.title.string

3、tag.attrs可以打印所有属性并恢复为词典格式。 获取其中的某个属性,与操作词典一样,例如tag.attrs['href']或tag['href'],由于class属性一般是多个,中间有间隔,所以class属性

4、查找元素,find_all查找符合所有请求的内容,并返回一个list对象

5、get_text ) )获取tag标签下的所有文本

6、replace替换字符串中的特殊字符

练习1

from bs4 import BeautifulSoup

htmldemo=" ' '

yoyoketang yoyoketang

这里是我的微信公众号。 yoyoketang

lafiddler教程

电脑笔记本

selenium文档

快点关注吧!

.

“”'

#html.parser是解析器

soup=beautifulsoup(htmldemo,' html.parser ' ) )。

获取#标签头

打印(soup.head ) )。

获取#字符

打印(soup.head.title.string ) )。

打印(soup.a.attrs ) )。

print(soup.a.attrs['href']

print(soup.a['href']

#class搜索无法直接使用class进行搜索。 class_='sister '

s=soup.find_all(class_='sister ' ) )。

#第二次搜索

S2=s[0].find_all(id='p ' ) )。

按#id搜索

m=soup.find_all(id='link3' ) ) )。

获取#标记下的所有文本

t=soup.body.get_text (

练习2

from bs4 import BeautifulSoup

导入请求

import os

#请求获取所有图像url和title的图像地址

r=requests.get (http://699 pic.com/sousuo-218808-13-1.html ) ) ) ) )。

soup=beautifulsoup(r.content,' html.parser ' ) )。

images=soup.find _ all (class _=' lazy ' ) ) )。

curpath=OS.path.dirname (OS.path.realpath (_ _ file _ _ ) )

for i in images:

jpg_url=i['data-original']

title=i['title']

打印(jpg _ URL ) )

是打印(标题)

打印(' )。

#下载获取的图像,下载到curpath、名字title.jpg

withopen(Curpath(((Title ).jpg )、(wb ) ) as f:

f.write(requests.get ) jpg _ URL (.content ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。