おなまえ
Eメール
タイトル
コメント
参照URL
添付File
暗証キー (英数字8文字以内)
画像認証 (右画像の数字入力) 投稿キー
文字色
無題

リンク先に飛べませんどこがおかしいですか?

<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
echo '<div>';
$url = "https://starwars.disney.co.jp/character.html";
$doc = phpQuery::newDocumentFileHTML($url);
echo '取得サイト:'.$doc['title']->text().'<br>';
echo $doc['#sort-by-series'];
echo '</div>';

echo '<div>';
$h3 = $doc['#list_content']->find('h3');
$h3 = fullpath($h3,$url);
echo $h3;
$img = $doc['.bnrIndexDemand']->find('img');
$img = fullpath($img["li"], $url);
echo $img;
echo '</div>';
?>

ぱぱやん 2019/01/29(Tue) 14:26 Home No.606 [返信]
Re: 無題
<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");

echo '<div>';
$url = "https://starwars.disney.co.jp/character.html"; //取得元のURL
$hrefurl = "https://starwars.disney.co.jp"; //パス変換用のURL
$doc = phpQuery::newDocumentFileHTML($url);
echo '取得サイト:'.$doc['title']->text().'<br>';
$contents = $doc['#sort-by-series']; //#sort-by-seriesの中身を$contentsに入れる
$path = fullpath($contents[".cmpNavCharacter"], $hrefurl); //リンクと画像リンクの変換
echo $path; //出力
echo '</div>';

?>

//より後ろはコメントで出力に影響しません.
2つ目の<div>は別のサイトの名残りのようなので消しました.
リンク先に飛べるようにするには相対パスを絶対パスに変換する作業が必要ですので,fullpathを使って絶対パスに直しています.
森田(TA) 2019/01/29(Tue) 14:46 No.607
無題

てすとです

榎田(TA) 2019/01/29(Tue) 14:15 No.605 [返信]
リンクや画像に関して

<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
echo '<div>';
$url = "http://ps4.soft-db.net/best/all.html";
$doc = phpQuery::newDocumentFileHTML($url);
echo '所得サイト :'.$doc['title']->text().'<br>';
$data = $doc['.best'];
foreach($data as $row){
echo '<a href="http://ps4.soft-db.net/';
echo pq($row)->find('.ttl')->find('a')->attr('href');
echo '>';
echo pq($row)->find('.ttl>a');
echo '</a>';
echo '<br>';
}

echo '</div>';

リンク付きの文字を過去ログを参考に、表示はできたのですが、一つ目以降URLがリンク先につながっていません。どのように直せばよいでしょうか。
そして、画像に関してどのようにすればうまく表示できるでしょうか。

hy 2019/01/28(Mon) 22:27 Home No.603 [返信]
Re: リンクや画像に関して
みました.
cssでスタイルを調整する必要があると思いますが,
一応下記のようにすれば画像を表示してリンクを正しくつなげることができます.
詳細は,コード中にコメントしてます.
-----
<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
echo '<div>';
$url = "http://ps4.soft-db.net/best/all.html";
$doc = phpQuery::newDocumentFileHTML($url);
echo '取得サイト :'.$doc['title']->text().'<br>';
$data = $doc['.best>table>tbody>tr>.ttl'];//とりたい部分をできるだけ詳細に指定する
foreach($data as $row){
$linktext = pq($row)->find('a');//ハイパーリンクのテキスト部分の取得
$linktext = fullpath($linktext,$url);//aタグをフルパスに変換
$img = pq($row)->find('img');//画像を取得
$img = fullpath($img,$url);//画像もフルパスに変換
echo $linktext."<br>";//aタグの中にimgが入っているのでこれを出力すれば良い
}
echo '</div>';
?>
-----
柿本(TA) 2019/01/29(Tue) 00:18 No.604
画像一覧

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ガス管DIY idea</title>
<style>
div {
float: center;
width: 1200px;
padding:0px;
text-align: center;
border: 1px solid #cccccc;
margin: 0px 0px 0px 0px;
font-weight 400;
background-color: rgba(192,192,192,0.55)
}
.image-contents img {
min-width: 200px;
height: auto;
}
body {
background: #f0f8ff;
background-image: url("791_0.jpg");
}
h1 {
color: black;
}
</style>
</head>
<body>
<h1>ガス管DIY Idea</h1>
<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
$url = "https://diyers.co.jp/articles/nsyci";
$doc = phpQuery::newDocumentFileHTML($url);
$news = $doc[".toc"];
echo '<div>';
echo $news;
echo '</div>';
?>

<?php
require_once('phpQuery-onefile.php');
require_once('pathChanger.php');
$url = 'https://matome.naver.jp/odai/2144402245920905601';
$doc = phpQuery::newDocumentFileHTML($url);
$img = $doc['.image']->find('img');
$replace = str_replace('ng-','',$img);
echo $replace;
for($i = 2;$i < 9;$i++){
$url = "https://matome.naver.jp/odai/2144402245920905601";
$doc = phpQuery::newDocumentFileHTML($url);

$img = $doc['.image']->find('img');
$replace = str_replace('ng-','',$img);
echo $replace;
}

?>
</body>
</html>

https://matome.naver.jp/odai/2144402245920905601のサイトの画像を画像一覧として目次のしたに表示させたいのですがうまくいきません。
どうすればいいですか?

k 2019/01/28(Mon) 17:41 No.600 [返信]
Re: 画像一覧
みました.
https://matome.naver.jp/odai/2144402245920905601」の
画像を一式取れればいいのですかね?下記を追加してみてください.
foreachで繰り返し処理を行って,画像を出力しています.

-----
<?php
require_once('phpQuery-onefile.php');
require_once('pathChanger.php');
$url = "https://matome.naver.jp/odai/2144402245920905601";
$doc = phpQuery::newDocumentFileHTML($url);
$contents = $doc['.MdMTMWidget01.mdMTMWidget01TypeImg'];
echo "<div class='imagesbox'>";
foreach($contents as $value){
$img = pq($value)->find('img');
$img = fullpath($img,$url);
echo $img;
}
echo "</div>";
?>
-----
柿本(TA) 2019/01/28(Mon) 18:25 No.602
:not()の使い方がわからない

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Web情報収集システム</title>
<style>
div {
float: left;
background: #ffffff;

padding: 20px;
text-align: left;
border: 1px solid #cccccc;
margin: 15px 5px 10px 4px;
color: #ff6600;
}
div2 {
float: left;
background: #ffffff;


text-align: left;
border: 1px solid #cccccc;
margin: 15px 5px 10px 4px;
color: #ff6600;
}
.image-contents img {
min-width: 300px;
height: auto;
}
body {
background: #f0f8ff;
background-image: url("./logo_battlespirits.png");
}
</style>
</head>
<body>
<h1><div2><font color="#000">Web情報収集システム </font></div2></h1>
<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
echo '<div>';
echo '<h2>バトルスピリッツ 新着リスト</h2><br><br>';
$url = "https://batspi.com/index.php?RecentChanges";
$doc = phpQuery::newDocumentFileHTML($url);
$list = $doc['.list1:eq(1):not([title^="カード効果"])'];
echo fullpath($list["li"],$url);
echo '</div>';

?>
</body>
</html>

元サイトから引っ張ってきた要素のうち、"カード効果"とタイトルにある要素を表示しないようにしたいのですが、うまくいきません。どのように:not()を用いればよいのでしょうか。

H_K 2019/01/28(Mon) 17:00 No.599 [返信]
Re: :not()の使い方がわからない
みました.
繰り返し処理を使って,その中で条件分岐させましょう.
詳しくは下記です.

-----
<?php
require_once("phpQuery-onefile.php");
require_once("pathChanger.php");
echo '<div>';
echo '<h2>バトルスピリッツ 新着リスト</h2><br><br>';
$url = "https://batspi.com/index.php?RecentChanges";
$doc = phpQuery::newDocumentFileHTML($url);
$list = $doc['.list1>li'];
foreach($list as $content){//繰り返し処理
$judge = pq($content)->text();//判別用
if(strpos($judge,'カード効果') !== false){//「カード効果」がテキストに含まれれば..
continue;//繰り返し処理をスキップ
}
$content = pq($content)->find('a');//ここからは含まれなかった場合の処理
$content = fullpath($content,$url);
echo "<li>";
echo $content;
echo "</li>";
}
echo '</div>';
?>
-----
柿本(TA) 2019/01/28(Mon) 18:11 No.601
処理 記事No 暗証キー

- JoyfulNote -