简单、快速、现代化的网络抓取库

gazpacho的Python项目详细描述


gazpacho

TravisPyPIPyPI - Python VersionDownloads

关于

gazpacho是一个简单、快速和现代化的web抓取库。该库是稳定的、主动维护的,并且安装了zero依赖项。在

安装

在命令行使用pip安装:

pip install -U gazpacho

快速启动

试试看:

^{pr2}$

教程

导入

按照公约进口gazpacho:

fromgazpachoimportget,Soup

获取

使用get函数下载原始HTML:

url='https://scrape.world/soup'html=get(url)print(html[:50])# '<!DOCTYPE html>\n<html lang="en">\n  <head>\n    <met'

使用可选参数和标题调整get请求:

get(url='https://httpbin.org/anything',params={'foo':'bar','bar':'baz'},headers={'User-Agent':'gazpacho'})

在原始html上使用Soup包装器来启用解析:

soup=Soup(html)

Soup对象也可以使用.get类方法初始化:

soup=Soup.get(url)

。查找

使用.find方法定位并提取HTML标记:

h1=soup.find('h1')print(h1)# <h1 id="firstHeading" class="firstHeading" lang="en">Soup</h1>

属性=

使用attrs参数隔离包含特定HTML元素属性的标记:

soup.find('div',attrs={'class':'section-'})

部分=

默认情况下,元素属性部分匹配。通过将partial设置为False来关闭此功能:

soup.find('div',{'class':'soup'},partial=False)

模式=

重写模式参数{'auto', 'first', 'all'}以保证返回行为:

print(soup.find('span',mode='first'))# <span class="navbar-toggler-icon"></span>len(soup.find('span',mode='all'))# 8

dir()

Soup对象具有htmltagattrs和{}属性:

dir(h1)# ['attrs', 'find', 'get', 'html', 'strip', 'tag', 'text']

相应地使用它们:

print(h1.html)# '<h1 id="firstHeading" class="firstHeading" lang="en">Soup</h1>'print(h1.tag)# h1print(h1.attrs)# {'id': 'firstHeading', 'class': 'firstHeading', 'lang': 'en'}print(h1.text)# Soup

支持

如果您使用gazpacho,请考虑将scraper: gazpacho徽章添加到您的项目中自述文件.md公司名称:

[![scraper: gazpacho](https://img.shields.io/badge/scraper-gazpacho-C6422C)](https://github.com/maxhumber/gazpacho)

贡献

对于功能请求或错误报告,请使用Github Issues

对于PRs,请阅读CONTRIBUTING.md文档

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javai是JAXB的新手。如何将两个具有不同名称空间的不同xml合并为一个具有根元素的xml并将其解组?   JDO中的java应该是可传递的DefaultFetchGroup吗   java服务器配置问题   java在理解JList时遇到困难   java何时将RequestContextFilter用于Jersey?   java从数据库中读取文本文件。jar文件   Java正则表达式,仅适用于不包括零的正数   爪哇番石榴。类路径中的jar   JavaEE:关于设计的问题   java GUI,在面板中排列按钮   java Android为什么使用接口被认为是活动和片段之间通信的最佳实践?   java如何获取wicket图像的url以在开放图元标记中使用它   从Java字节[]>Base64>Javascript数组缓冲>Base64>byte[]   java正则表达式帮助字符串JWE766。1.pdf格式摘录766   java Hibernate,JPA忽略@Formula