快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Python爬虫——Beautiful Soup

Python爬虫——Beautiful Soup

时间:2022-05-10 10:56:06人气:作者:快盘下载我要评论
beautiful soup

Beautiful Soup是Python处理HTML或XML的解析库,使用Beautiful Soup需要安装Beautiful Soup库和lxml的库
Beautiful Soup官方下载地址

Python爬虫——Beautiful Soup image.png
Beautiful Soup的安装方式

pip install beautifulsoup4


from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>HelloPython</p>','lxml')
print(soup.p.string)
# HelloPython


获取属性
from bs4 import BeautifulSoup
html = '''
<html>
<head><title>BeautifulSoup Demo</title></head>
<body>
<p class="titleClass" name="titleName">titleContent</p>
</body>
</html>
'''

soup = BeautifulSoup(html,'lxml')
print(soup.p.attrs)
print(soup.p.attrs['name'])


获取内容

string获取节点的文本内容

from bs4 import BeautifulSoup
html = '''
<html>
<head><title>BeautifulSoup Demo</title></head>
<body>
<p class="titleClass" name="titleName">titleContent</p>
</body>
</html>
'''

soup = BeautifulSoup(html,'lxml')
print(soup.p.string)
print(soup.head.string)


find_all

通过节点查找内容

from bs4 import BeautifulSoup
html = '''
<html>
<head><title>BeautifulSoup Demo</title></head>
<body>
<div class='classContent1'>
content0
</div>
<div class='classContent2'>
<li>conent1</li>
<li>conent2</li>
<li>conent3</li>
</div>
</body>
</html>
'''

soup = BeautifulSoup(html,'lxml')
result = soup.find_all('div')
print(result)


通过属性查找

from bs4 import BeautifulSoup
html = '''
<div class='classContent'>
<li>conent1</li>
<li>conent2</li>
<li>conent3</li>
</div>
'''

soup = BeautifulSoup(html,'lxml')
result = soup.find_all(attrs={'class':'classContent'})
print(result)


查找节点内容

from bs4 import BeautifulSoup
import re
html = '''
<div class='classContent'>
<li>conent1</li>
<li>conent2</li>
<li>conent3</li>
</div>
'''

soup = BeautifulSoup(html,'lxml')
result = soup.find_all(text=re.compile('conent'))
print(result)
# ['conent1', 'conent2', 'conent3']


select 选择器
from bs4 import BeautifulSoup
import re
html = '''
<div class='classContent'>
<li>conent1</li>
<li>conent2</li>
<li>conent3</li>
</div>
'''

soup = BeautifulSoup(html,'lxml')
result = soup.select('div li')
print(result)


获取豆瓣读书

from bs4 import BeautifulSoup
import requests
url = 'https://book.douban.com/top250?icn=index-book250-all'
urls = ['https://book.douban.com/top250?start={}'.format(str(n)) for n in range(0,250,25)]

def get_book(url):
    wb_data = requests.get(url)
    soup = BeautifulSoup(wb_data.text,'lxml')
    titles = soup.select('div.pl2 > a')
    imgs = soup.select('a.nbg > img')
    cates = soup.select('p.quote > span')
    for title,img,cate in zip(titles,imgs,cates):
        data = {
            'title':title.get_text(),
            'img':img.get('src'),
            'cate':cate.get_text()
        }
        print(data)

for url_urls in urls:
    get_book(url_urls)


相关文章

  • Python练习笔记之Redis练习题及答案

    Python练习笔记之Redis练习题及答案, 目录1、什么是Redis?2、Redis相比memcached有哪些优势?3、Redis支持哪几种数据类型?4、Redis主要消耗什么物理资源?5、Redis的全称是什么?6、Redis有哪几种数据淘汰策略?7、Redis官方为什么不提供Windows版本?8、一个字符串类型的值能存储最大容量是多少?9、为什么Redis需要把所有数据放到内存中?...
  • 【Python实现网络爬虫】Scrapy爬取网易新闻(仅供学习交流使用!)

    【Python实现网络爬虫】Scrapy爬取网易新闻(仅供学习交流使用!),1.新建项目在命令行窗口下输入scrapystartprojectscrapytest,如下然后就自动创建了相应的文件,如下2.修改itmes.py文件打开scrapy框架自动创建的items.py文件...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。