| alexsandr8433 |
19.07.2021 12:45 |
Приветствую, собсна ради эксперимента решил попробовать и вот что получилось
Python:
Код:
import
requests
import
unicodedata
from
bs4
import
BeautifulSoup
from
selenium
import
webdriver
import
pickle
def
get_data_with_selenium
(
url
)
:
options
=
webdriver
.
ChromeOptions
(
)
options
.
add_argument
(
'user-agent=добавить свой'
)
options
.
add_argument
(
'--disable-blink-features=AutomationControlled'
)
options
.
add_argument
(
'--headless'
)
driver
=
webdriver
.
Chrome
(
executable_path
=
r"C:\Users\admin\PycharmProjects\pythonProject\chromedriver.exe"
,
options
=
options
)
try
:
driver
.
get
(
url
=
url
)
#pickle.dump(driver.get_cookies(), open('cookiesarp', 'wb'))
for
cookies
in
pickle
.
load
(
open
(
'cookiesarp'
,
'rb'
)
)
:
driver
.
add_cookie
(
cookies
)
driver
.
refresh
(
)
with
open
(
'16.html'
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
file
.
write
(
driver
.
page_source
)
except
Exception
as
ex
:
print
(
ex
)
finally
:
driver
.
close
(
)
driver
.
quit
(
)
def
main
(
)
:
ss
=
int
(
input
(
'Введите номер сервера '
)
)
print
(
'Происходит обратока данных, ожидайте.'
)
get_data_with_selenium
(
'[URL='
https
:
//
arizona
-
rp
.
com
/
map
/
%
27
+
f']https://arizona-rp.com/map/'
+
f
[
/
URL
]
'{ss}'
)
with
open
(
'16.html'
,
encoding
=
'utf-8'
)
as
file
:
map
=
file
.
read
(
)
soup
=
BeautifulSoup
(
map
,
'lxml'
)
items
=
soup
.
find_all
(
'div'
,
class_
=
'map-icon house-for-sale'
)
for
x
in
items
:
data_original_title
=
x
[
'data-original-title'
]
title_el
=
BeautifulSoup
(
data_original_title
,
'lxml'
)
print
(
title_el
.
get_text
(
strip
=
True
,
separator
=
'\n'
)
)
input
(
'Press enter to exit'
)
#for sale in items:
#sell.append({
#'home': sale.find_all('div', class_='text-center')
# })
#print(sell)
if
__name__
==
'__main__'
:
main
(
)
Можно доработать код, создать цикл while и сделать проверку на hash(), чтобы скрипт производил сбор инфы когда что то добавляется или удаляется со страницы.
Кстати, принимаю реквесты в ЛС с просьбами спарсить что нибудь.
|