Разделы презентаций


Python 01

Содержание

https://www.crummy.com/software/BeautifulSoup/

Слайды и текст этой презентации

Слайд 1Python 01
Beautiful Soup

Python 01Beautiful Soup

Слайд 2https://www.crummy.com/software/BeautifulSoup/

https://www.crummy.com/software/BeautifulSoup/

Слайд 3virtualenv

virtualenv

Слайд 4Создание виртуального окружения

Создание виртуального окружения

Слайд 6pip install beautifulsoup4
pip3 install beautifulsoup4
pip3 freeze

pip install beautifulsoup4pip3 install beautifulsoup4pip3 freeze

Слайд 7>>> from bs4 import BeautifulSoup as bs
>>> import re
>>> f_html=open('01re.html','r')
>>>

f_str=f_html.read()
>>> #bs_str=BeautifulSoup(f_str)
>>> bs_str=bs(f_str)
>>> print (bs_str.prettify())

>>> from bs4 import BeautifulSoup as bs>>> import re>>> f_html=open('01re.html','r')>>> f_str=f_html.read()>>> #bs_str=BeautifulSoup(f_str)>>> bs_str=bs(f_str)>>> print (bs_str.prettify())

Слайд 8prettify()

prettify()

Слайд 9Обращение к элементам
>>> soup.contents[0].name
'html'
>>> soup.contents[0].contents[0].name
'head'
>>> soup.contents[0].contents[0].contents[0].name
'title'
>>> soup.title
Page title
>>> soup.title.name
'title'
>>> soup.title.string
'Page

title'
>>> soup.title.parent.name
'head'
>>>

Обращение к элементам>>> soup.contents[0].name'html'>>> soup.contents[0].contents[0].name'head'>>> soup.contents[0].contents[0].contents[0].name'title'>>> soup.titlePage title>>> soup.title.name'title'>>> soup.title.string'Page title'>>> soup.title.parent.name'head'>>>

Слайд 10find()
>>> bs_str.find('td')
row 1 col 1
>>> bs_str.find('tr')

row 1 col 1
row 1

col 2
row 1 col 3

find()>>> bs_str.find('td')row 1 col 1>>> bs_str.find('tr')row 1 col 1row 1 col 2row 1 col 3

Слайд 11>>> soup.p
This is paragraph one.This is

paragraph two.
>>> soup.p['align']
'center'
>>> soup.a
>>> soup.find_all('p')
[This is paragraph one.

align="blah" id="secondpara">This is paragraph two.

,

This is paragraph two.

]
>>> print(soup.get_text())
Page titleThis is paragraph one.This is paragraph two.
>>> soup.pThis is paragraph one.This is paragraph two.>>> soup.p['align']'center'>>> soup.a>>> soup.find_all('p')[This is paragraph one.This is paragraph two.,

Слайд 12Чтение информации из URL
>>> from urllib.request import urlopen
>>> from bs4

import BeautifulSoup
>>> html1=urlopen('https://www.djangoproject.com/download/')
>>> html1_str=html1.read()

Чтение информации из URL>>> from urllib.request import urlopen>>> from bs4 import BeautifulSoup>>> html1=urlopen('https://www.djangoproject.com/download/')>>> html1_str=html1.read()

Слайд 13html_str1

html_str1

Слайд 14Удобство вывода
>>> bs1_str=BeautifulSoup(html1_str)
>>> bs1_str

Удобство вывода>>> bs1_str=BeautifulSoup(html1_str)>>> bs1_str

Слайд 15Обращение по тегам
>>> bs1_str.h1
Download
>>> bs1_str.title
Download Django | Django>>> bs1_str.div
>>> bs1_str.body


Обращение по тегам>>> bs1_str.h1Download>>> bs1_str.titleDownload Django | Django>>> bs1_str.div>>> bs1_str.body…

Слайд 16Идентичность вывода
>>> bs1_str.body.h1
Download
>>> bs1_str.html.body.h1
Download
>>> bs1_str.html.h1
Download
>>> bs1_str.h1
Download

Идентичность вывода>>> bs1_str.body.h1Download>>> bs1_str.html.body.h1Download>>> bs1_str.html.h1Download>>> bs1_str.h1Download

Слайд 17Поиск всех элементов на странице
>>> from urllib.request import urlopen
>>> from

bs4 import BeautifulSoup as bs
>>> import re
>>> html1=urlopen ('https://www.djangoproject.com/download/')
>>> htm1_str=html1.read()
bs_str1=bs(html1_str)

Поиск всех элементов на странице>>> from urllib.request import urlopen>>> from bs4 import BeautifulSoup as bs>>> import re>>>

Слайд 18>>> nameList=bs_str1.findAll('div')
>>> nameList

>>> nameList=bs_str1.findAll('div')>>> nameList

Слайд 19Введение ограничения на поиск
>>> nameList2=bs_str1.findAll('div', {'class':'footer-logo'})
>>> nameList2
[
Django
]

Введение ограничения на поиск>>> nameList2=bs_str1.findAll('div', {'class':'footer-logo'})>>> nameList2[Django]

Слайд 20>>> allTags=bs_str.findAll('p',{'id':'fst'})
>>> allTags
[ ]

>>> allTags=bs_str.findAll('p',{'id':'fst'})>>> allTags[ ]

Слайд 21Использование регулярок для поиска
>>> nameList3=bs_str1.findAll('div', {'class':re.compile('^footer')})
>>> nameList3
[

Использование регулярок для поиска>>> nameList3=bs_str1.findAll('div', {'class':re.compile('^footer')})>>> nameList3[

Слайд 22Получение текста get_text()
>>> for i in nameList4:
print(i.get_text())

Получение текста get_text()>>> for i in nameList4:	print(i.get_text())

Слайд 23Посиск по нескольким тегам
>>> nameList5=bs_str1.findAll(['h1','h2'])
nameList5=bs_str1.findAll({'h1':True,'h2':True})

Посиск по нескольким тегам>>> nameList5=bs_str1.findAll(['h1','h2'])nameList5=bs_str1.findAll({'h1':True,'h2':True})

Слайд 24Вывод всего текста или список тегов
nameList6=bs_str1.findAll(True)
[i.name for i in nameList6]

Вывод всего текста или список теговnameList6=bs_str1.findAll(True)[i.name for i in nameList6]

Слайд 25Поиск по параметрам тега
>>> nameList7=bs_str1.findAll(lambda tag: len(tag.name)==2)
nameList7=bs_str1.findAll(lambda tag: len(tag.get_text())>20)
>>>

nameList7=bs_str1.findAll(lambda tag: len(tag.attrs)>2)
>>> nameList7
[,

style="max-width:100%;"/>]
Поиск по параметрам тега>>> nameList7=bs_str1.findAll(lambda tag: len(tag.name)==2) nameList7=bs_str1.findAll(lambda tag: len(tag.get_text())>20)>>> nameList7=bs_str1.findAll(lambda tag: len(tag.attrs)>2)>>> nameList7[, ]

Слайд 26Изменения
>>> bs_str.body.insert(0, 'MyPage')

Изменения >>> bs_str.body.insert(0, 'MyPage')

Слайд 27Доп возможности вывода
>>> str(bs_str)
>>> bs_str.__str__()

Доп возможности вывода>>> str(bs_str)>>> bs_str.__str__()

Слайд 28>>> bs_str.prettify()
>>> bs_str.renderContents()

>>> bs_str.prettify()>>> bs_str.renderContents()

Слайд 29Вывод содержимого тегов
>>> MyTitle=bs_str.title
>>> str(MyTitle)
'Table'
>>> MyTitle.renderContents()
b'Table'

Вывод содержимого тегов>>> MyTitle=bs_str.title>>> str(MyTitle)'Table'>>> MyTitle.renderContents()b'Table'

Слайд 30Присвоение имен и замена содержимого
>>> titleTag=bs_str.html.head.title
>>> titleTag
Table
>>> titleTag.string
'Table'
>>>

len(bs_str('title'))
1
>>> titleTag['id']='Hello BS'
>>> bs_str.html.head.title
Table
>>> titleTag.contents[0]
'Table'
>>> titleTag.contents[0].replaceWith('BS Table')
'Table'
>>> bs_str.html.head.title

id="Hello BS">BS Table
Присвоение имен и замена содержимого>>> titleTag=bs_str.html.head.title>>> titleTagTable>>> titleTag.string'Table'>>> len(bs_str('title'))1>>> titleTag['id']='Hello BS'>>> bs_str.html.head.titleTable>>> titleTag.contents[0]'Table'>>> titleTag.contents[0].replaceWith('BS Table')'Table'>>> bs_str.html.head.titleBS Table

Слайд 31Атрибуты тегов
>>> fstTag,scndTag=bs_str.findAll('p')
>>> fstTag

>>> fstTag['id']
'fst'
>>> scndTag['id']
'scnd'

Атрибуты тегов>>> fstTag,scndTag=bs_str.findAll('p')>>> fstTag >>> fstTag['id']'fst'>>> scndTag['id']'scnd'

Слайд 32>>> pTag=bs_str.p
>>> pTag

>>> pTag.contents
[' ']
>>> pTag.contents[0].contents
AttributeError: 'NavigableString' object

has no attribute 'contents'

>>> pTag=bs_str.p>>> pTag >>> pTag.contents[' ']>>> pTag.contents[0].contentsAttributeError: 'NavigableString' object has no attribute 'contents'

Слайд 33>>> bs_str1.td
2.1
>>> bs_str1.td.string
'2.1'
>>> bs_str1.td.contents[0]
'2.1'
>>> bs_str1.td.get_text()
'2.1'

>>> bs_str1.td2.1>>> bs_str1.td.string'2.1'>>> bs_str1.td.contents[0]'2.1'>>> bs_str1.td.get_text()'2.1'

Слайд 34Вверх и вниз по уровню
>>> bs_str.table.nextSibling
'\n'
>>> bs_str.table.previousSibling
'\n'

Вверх и вниз по уровню>>> bs_str.table.nextSibling'\n'>>> bs_str.table.previousSibling'\n'

Слайд 35Вниз и вверх
>>> bs_str.head.next
'\n'
>>> bs_str.head.next.name
>>> bs_str.head.next.next
BS Table
>>> bs_str.head.next.next.name
'title'
>>>

bs_str.title.next.name
>>> bs_str.title.next.next
'\n'
>>> bs_str.title.next.next.next
'\n'
>>> bs_str.head.previous.name
>>>

Вниз и вверх>>> bs_str.head.next'\n'>>> bs_str.head.next.name>>> bs_str.head.next.nextBS Table>>> bs_str.head.next.next.name'title'>>> bs_str.title.next.name>>> bs_str.title.next.next'\n'>>> bs_str.title.next.next.next'\n'>>> bs_str.head.previous.name>>>

Слайд 36Поиск следующих по уровню findPreviousSiblings findPreviousSibling
>>> bs_str.table.tr
>>> rTable=bs_str.table.tr
>>> rTable.findNextSiblings('tr')
>>> rTable.findNextSiblings('tr',

limit=1)

Поиск следующих по уровню findPreviousSiblings findPreviousSibling >>> bs_str.table.tr>>> rTable=bs_str.table.tr>>> rTable.findNextSiblings('tr')>>> rTable.findNextSiblings('tr', limit=1)

Слайд 37findAllNext findNext
findAllNext(name, attrs, text, limit, **kwargs)
findNext(name, attrs, text, **kwargs)

findAllNext findNextfindAllNext(name, attrs, text, limit, **kwargs)findNext(name, attrs, text, **kwargs)

Слайд 38findAllPrevious findPrevious
findAllPrevious(name, attrs, text, limit, **kwargs)
findPrevious(name, attrs, text, **kwargs)

findAllPrevious findPreviousfindAllPrevious(name, attrs, text, limit, **kwargs)findPrevious(name, attrs, text, **kwargs)

Слайд 39findParents findParent
findParents(name, attrs, limit, **kwargs)
findParent(name, attrs, **kwargs)

findParents findParentfindParents(name, attrs, limit, **kwargs)findParent(name, attrs, **kwargs)

Слайд 40http://wiki.python.su/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8/BeautifulSoup#A.2BBB4EQQQ9BD4EMgQ9BD4EOQ_.2BBDwENQRCBD4ENA_.2BBD8EPgQ4BEEEOgQw:_findAll.28name.2C_attrs.2C_recursive.2C_text.2C_limit.2C_.2A.2Akwargs.29
https://www.crummy.com/software/BeautifulSoup/bs4/doc/

http://wiki.python.su/%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D0%B8/BeautifulSoup#A.2BBB4EQQQ9BD4EMgQ9BD4EOQ_.2BBDwENQRCBD4ENA_.2BBD8EPgQ4BEEEOgQw:_findAll.28name.2C_attrs.2C_recursive.2C_text.2C_limit.2C_.2A.2Akwargs.29https://www.crummy.com/software/BeautifulSoup/bs4/doc/

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика