citera!
Facebook-API
Visa signatur
Bumpar denna tråden då det är samma skript.
Har ett nytt problem nu!
Försöker få till så jag kan uppdatera min databas med månad och år som jag la till vännen. Detta går inte att se så vitt jag vet på mobila sidan utan enbart på fullversionen av sidan via URLen http://facebook.com/profile.php?id=dittID&and=dinvänsID.
Jag lyckas logga in på fullversions-sidan och kan komma åt URLen för att se vilken månad och år man la till varandra. Däremot har jag problem att få ut det från HTML-DOM av någon anledning. ->innerText returnerar bara tomt när jag försöker hämta den. Det lustiga är att när jag skriver ut HTML sidan som curl_exec returnerar så ser jag texten där. Helskumt! Någon idé varför det blir såhär?
public function getDates()
{
$result = $this->db->query("SELECT * FROM `friends` WHERE `date_friended` IS NULL AND `lost` = 'false'");
if( !$result )
echo mysql_error();
$user_key = Config::get('user_key', 'unfriended');
if( !isset( $user_key ) )
return false;
if( $result->num_rows() <= 0 )
die('No friends to update');
ob_start();
while( $row = $result->fetch() )
{
$url = Config::get('url_full', 'unfriended') . '/profile.php?id=' . $user_key . '&and=' . $row->key;
echo 'Trying to get friend ' . $row->name . ' with URL: ' . $url . '<br />';
$html = $this->_getHTML( $url );
//echo $html;
$find = $html->find('div[id="globalContainer"]', 0)->find('div[id="content"]', 0)
->find('div[id="mainContainer"]', 0)->find('div[id="headerArea"]', 0)
->find('div', 0)->find('div[id="pagelet_friendship_status_text"]', 0);
echo '<div>';
if( $find )
echo 'Message: ' . $find->innerText;
else
echo 'No';
echo '</div>';
ob_flush();
flush();
}
}
Exempel output:
Citat:
Trying to get friend Alessia M with URL: http://www.facebook.com/profile.php?id=MITTID&and=HENNESID
Message:
Eftersom $find returnerar någonting(och därmed skriver ut "Message:") så hittar den ju den korrekta div:en.
Tar jag och skriver ut $html istället så får jag denna(kopierar bara slutet, det inom "headerArea"):
<div id="headerArea">
<div>
<span class="fsxxl fwb">
You and
<a data-hovercard="/ajax/hovercard/user.php?id=ID" href="http://www.facebook.com/profile.php?id=ID">NAME</a>
<span id="friendship_header_section"></span>
</span>
<div id="pagelet_friendship_status_text" data-referrer="pagelet_friendship_status_text">Facebook friends since February 2010</div>
</div>
</div>
Förstår inte riktigt.. innerText är ju uppenbarligen någonting och det står ju precis när jag blev vän med personen i fråga. Vad är problemet? :/
Citera flera
Citera
Har hittat problemet. Har dock fortfarande ingen lösning på det.
Problemet är att Facebook fyller
<div id="pagelet_friendship_status_text" data-referrer="pagelet_friendship_status_text"></div>
med hjälp utav javascript. Det är därför det fungerar när jag skriver ut HTML för då följer javascript med som länkas till facebook och div:en fylls med rätta texten. Provade disabla javascript och när jag körde mitt skript(som skrev ut HTML) så blev allt blankt och div:en var tom.
Hur hämtar jag något från en sida där någonting laddas via javascript?
Citera flera
Citera
Hårdvara
- Idag Sony läcker uppgifter i rättegång – så stort är Call of Duty 9
- Igår Nvidia: "Energieffektiva RTX 4060 sparar hundralappar" 36
- Igår MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare 46
- Igår Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer 15
- Igår Nvidias nästa arkitektur för Geforce kommer år 2025 58
Mjukvara
Övrigt
- Igår Veckans fråga: Vilket operativsystem föredrar du? 82
- Igår Bilar med smarta inslag ger fler dumma fel 62
- 27 / 6 Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år" 88
- 26 / 6 Lastpass-användare rasar – kan inte logga in 59
- 26 / 6 Inet frågar SweClockers – Vad skulle du vilja förbättra på Inet.se? 53
Datorkomponenter
Ljud, bild och kommunikation
- Borra i betongvägg60
- En av tre svenskar använder annonsblockerare81
- iMac visar inte innehåller i extern HDD5
- Strul med win 11 (och StartAllBack?)9
- Elbilar - Tråden för intresserade20459
- Starfield utvecklas med AMD:s välsignelse152
- Bilar med smarta inslag ger fler dumma fel62
- Mekaniska tangentbord och tillbehör, allmän diskussion och frågor.6379
- Framtiden för C# och .Net i Sverige47
- Ert dyraste ” datormisstag”?403
- Säljes I5 12500
- Säljes LG 27'' UltraGear 27GP950 4K Nano IPS 160 Hz HDMI 2.1
- Säljes Star Wars Jedi AMD kod
- Säljes Trasig Xiaomi Mi Electric Scooter (M365) Svart
- Säljes 5800x3D + x570 Meg Unify + be quiet! Dark Rock Slim
- Säljes AMD ASUS DUAL RX6700XT
- Säljes Dell OptiPlex 7010
- Säljes Datordelar: i5 9600k + 1070 GTX mm.
- Säljes 1080 TI | Vattenblock | 1TB SSD | Apple Watch 4 Stainless | Hörlurar | Mikrofon
- Säljes Intressekoll: Xbox Series S 512Gb samt Switch Oled 64Gb Vit
- Sony läcker uppgifter i rättegång – så stort är Call of Duty9
- Nvidia: "Energieffektiva RTX 4060 sparar hundralappar"36
- MSI Geforce RTX 4060 Ventus 2X OC – bra prestanda vid 1080p men medioker kylare46
- Veckans fråga: Vilket operativsystem föredrar du?82
- Bilar med smarta inslag ger fler dumma fel62
- Noctua släpper monteringsram för "deliddade" Ryzen 7000-processorer15
- Nvidias nästa arkitektur för Geforce kommer år 202558
- Microsoft vill strömma Windows från molnet72
- Starfield utvecklas med AMD:s välsignelse152
- Telekombranschen: "Smarta glasögon ersätter telefoner inom fem år"88
Externa nyheter
Spelnyheter från FZ
- Över tre miljoner exemplar av Final Fantasy XVI har skeppats och sålts idag
- Sony råkar avslöja spelbudgetar och annat på grund av dålig märkpenna idag
- Alan Wake och CoD: Kallt krig snart på PS Plus igår
- Red Dead Redemption åldersmärkt igen i Korea – det spekuleras i remaster igår
- Fallout London flyttas för att slippa Starfield-konkurrensen igår