Hej,
Mógłby ktoś mnie trochę naprowadzić jak dostać się do danych wypluwanych przez BeautifulSoup? Może coś źle wpisuje w google i przeoczam w dokumentacji :).
Z poniższego kodu:
import requests
from bs4 import BeautifulSoup
html = requests.get(input("Insert your link: "))
soup = BeautifulSoup(html.text, 'html.parser')
print(soup)
Dostaje takie wyjście:
(... inne dane...)
<script type="text/javascript">//<![CDATA[
var g_mapperData = {
3518: {
0: { count: 13, coords: [[41.4,42.8],[41.4,45.2],[41.4,45.8],[41.6,46.2],[41.8,43.4],[41.8,43.6],[42.4,45.2],[42.6,43.2],[42.6,44.2],[43,41.8],[43.2,41.4],[43.8,44.4],[44,44.6]] }
}
};
var myMapper = new Mapper({parent: 'k6b43j6b'});
WH.gE(WH.ge('locations'), 'a')[0].onclick();
//]]></script>
(...inne dane...)
Z innej podstrony natomiast coś takiego:
(...inne dane...)
<script type="text/javascript">//<![CDATA[
var g_mapperData = {
3518: {
0: { count: 11, coords: [[25.4,60.4],[25.6,60.8],[26,59.4],[26.2,61.6],[26.4,58.2],[26.4,60],[26.6,59.8],[26.6,60.8],[27,58],[27,59.2],[27,61.8]] }
}
};
var myMapper = new Mapper({parent: 'k6b43j6b'});
WH.gE(WH.ge('locations'), 'a')[0].onclick();
//]]></script>
(...inne dane...)
Pewnie nie jest to ciężkie, ale gdzieś mi chyba już mózg nie robi po świętach :)
Dodam że dane nie są dynamiczne (zmieniane w trakcie 'operacji na stronie'), są za każdym pobraniem takie same.
@Edit:
Nie napisałem co chcę uzyskać... Chodzi mi konkretniej o zawartość coords:
coords: [[41.4,42.8],[41.4,45.2],[41.4,45.8],[41.6,46.2],[41.8,43.4],[41.8,43.6],[42.4,45.2],[42.6,43.2],[42.6,44.2],[43,41.8],[43.2,41.4],[43.8,44.4],[44,44.6]]
Chodzi mi o te listę dwuwymiarową.