Jump to content

Simple: Extracting some HTML from a page


bundyxc

Recommended Posts

haha, with that in mind, I have a question. I want to extract a user's MySpace picture, using their Friend ID. A friend ID comes up at the end of a URL.

 

 

http://profile.myspace.com/index.cfm?fuseaction=user.viewProfile&friendID=6221

 

This has the friendID of "6221" (as I'm sure you can see). Now, if you follow that link, it will take you to a profile. I want to grab the image that he's using as his default picture.

 

The image is in this TD

 

<td class="text" width="75" bgcolor="#ffffff" height="75">
				    <a id="ctl00_cpMain_ctl01_UserBasicInformation1_hlDefaultImage" rel="searchMonkey-photo" href="http://viewmorepics.myspace.com/index.cfm?fuseaction=user.viewAlbums&friendID=6221">

				        <img border="0" alt="" src="http://b2.ac-images.myspacecdn.com/00000/20/52/2502_m.jpg" />
				    </a>
			    <td>

 

<img border="0" alt="" src="http://b2.ac-images.myspacecdn.com/00000/20/52/2502_m.jpg" />

 

How would I extract this image, if I only had the friendID? I need a script that will go to the page, and grab the image. Any suggestions?

Link to comment
https://forums.phpfreaks.com/topic/166286-simple-extracting-some-html-from-a-page/
Share on other sites

Thank you! Could you advise me on how to find the URL of the image, instead of the img tag?

 

Text should be found after:

 

<img border="0" alt="" src="http://b2.ac-images.myspacecdn.com/00000/20/52/2502_m.jpg

 

But before:

 

" />

just use normal string functions

$url = "http://profile.myspace.com/index.cfm?fuseaction=user.viewProfile&friendID=6221";
$page = strip_tags(file_get_contents($url),"<img>");
$p = explode("/>",$page);
foreach($p as $k=>$v){
    if(strpos($v,"img class=")!==FALSE) {
        $jpg = explode("src=",$v);
        $imagelink = preg_replace("/\"/","",$jpg[1]); #remove doublequotes
        print "imaglink " . $imagelink;
        $image = file_get_contents($imagelink);
        $f=fopen("friend.jpg","w");
        fwrite($f,$image);
        fclose($f);
    }
}

wow, thank you. Now I feel a bit stupid. I've been spending the last two hours or so studying regex, and haven't gotten anywhere, but now I guess it was something completely different. String functions, you said?

 

Thanks a ton.

Does this work if the image has a PNG or other image types?

 

Alternatively (using DOM / XPath):

 

$url = "http://profile.myspace.com/index.cfm?fuseaction=user.viewProfile&friendID=6221";
$dom = new DOMDocument;
@$dom->loadHTMLFile($url);
$xpath = new DOMXPath($dom);
$imgTag = $xpath->query('//a[contains(@href, "friendID' . strrchr($url, '=') . '")]/img');
foreach ($imgTag as $val) {
    echo $val->getAttribute('src') . "<br />\n"; // Output: http://b2.ac-images.myspacecdn.com/00000/20/52/2502_m.jpg
}

  Quote

Thanks a ton.

Does this work if the image has a PNG or other image types?

i have not specifically harded any image file type. as you can see, my code searches for "img class" , therefore, if the link is to a png file, it should still grab for you

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.