Ivan Yakushenko,
import requests
from bs4 import BeautifulSoup
import csv
from fake_useragent import UserAgent
ua = UserAgent()
URL = 'https://opi.dfo.kz/p/ru/DfoObjects/objects/teaser-...'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'}
CSV = 'Аффилированные лица.csv'
# get html page
def get_html(url, params=''):
r = requests.get(URL, headers=HEADERS, params=params)
return r
# we get the content of the html page
def get_content(html):
soup = BeautifulSoup(html.text, 'html.parser')
items = soup.find_all('table', class_='dsnode-table')
faces = []
for item in items:
faces.append({
'info': item.find('tbody').get_text(strip=True)
})
return faces
#
def parser():
html = get_html(URL)
print(get_content(html))
Ivan Yakushenko, есть код, но работает криво и не правильно, я получаю всю информацию без разделения в один словарь, а как сделать иначе хотел узнать тут
Stanislav Pugachev, мне нужно разбить в несколько словарей значения как в таблице, допустим как на сайте тип --> физическое лицо и записать в excel документ и я уже ломаю голову слишком долго как это осуществить
byrew rewen, про константы вы верно все поняли, а вот ua так написано на PyPI в описании библиотеки fake_useragent, поэтому я не стал мудрить и назвал у себя в коде так же
import requests
from bs4 import BeautifulSoup
import csv
from fake_useragent import UserAgent
ua = UserAgent()
URL = 'https://opi.dfo.kz/p/ru/DfoObjects/objects/teaser-...'
HEADERS = {'user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9'}
CSV = 'Аффилированные лица.csv'
# get html page
def get_html(url, params=''):
r = requests.get(URL, headers=HEADERS, params=params)
return r
# we get the content of the html page
def get_content(html):
soup = BeautifulSoup(html.text, 'html.parser')
items = soup.find_all('table', class_='dsnode-table')
faces = []
for item in items:
faces.append({
'info': item.find('tbody').get_text(strip=True)
})
return faces
#
def parser():
html = get_html(URL)
print(get_content(html))
if __name__ == '__main__':
parser()