1

htmlページをロードし、phpを使用してこのページ内のフォームを送信できるかどうかを知る必要があります。だから次のようなもの:

<?php
   $html = fopen("http://www.mysite.com","r");
   //get position of form...
   ...
   //submit it 
?>

可能です?誰かが私を助けることができますか?ありがとう!!!

編集:

このフォームを送信する必要があります

https://annunci.ebay.it/pubblica-annuncio

私の問題は、このページに画像のアップロードがあり、php(スクレイピング)を使用してそれを行う方法がわからないことです

4

5 に答える 5

3

curlまた、フォームのアクション URL など、任意の URL に POST するために使用することもできます。

$ch = curl_init('http://example.com/form_action.php');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('your' => 'data', 'goes' => 'here');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

これは、「your」の値を「data」に設定し、「goes」の値を「here」に設定したフォームから呼び出されたかのように、URL http://example.com/form_action.phpを呼び出します。

POST に必要な URL を見つけるには、ソース コードを調べることができます。その際、<input>送信したいタグの「名前」属性を確認してください。

編集: POST url とフィールドが変更される可能性がある場合は、@Adan の回答を確認する必要があります。

于 2012-05-05T09:56:17.270 に答える
1

phpでページを取得するためにcurlを使用できます。回答@Lumbendilで述べたように。HTMLを解析するには、次のようなライブラリを使用できます。

http://simplehtmldom.sourceforge.net/

またはあなたは使用することができます

http://code.google.com/p/phpquery/

于 2012-05-05T10:30:22.127 に答える
1

基本的にこれはあなたがする必要があることです

1- を使用して HTML ページのコンテンツを取得します(セキュリティ上file_get_contents()のリスクを念頭に置いてください) 2- DOMDocument
を使用して HTML を解析します 3- フォームの属性を 取得します。cURLを使用してフィールドを置き換えたいデータを含むリクエストをメソッドを使用してURLに送信します
ACTIONMETHODDOMDocument
DOMDocument
ACTIONMETHOD

于 2012-05-05T09:55:51.173 に答える
0

ページのコンテンツを取得するためにネットから取得したコードを提供しています。その後、jquery(多分) を使用して送信機能を強制できます。

$url = "URL OF YOUR PAGE"; // I have tested page from same server
$lines = file( $url );
foreach( $lines as $line_num => $line ) {
    $line = htmlspecialchars( $line );
    $line = str_replace( "&lt;", '<span>&lt;', $line );
    $line = str_replace( "&gt;", '&gt;</span>', $line );
    $line = str_replace( "&lt;!–", '<em>&lt;!–', $line );
    $line = str_replace( "–&amp;gt;", '–&amp;gt;</em>', $line );
    echo "<span class=\"linenumber\">Line <strong>$line_num </strong></span> : " . $line . "<br/>\n";
}

上記のコードは、同じサーバー上の別のページのコンテンツを提供してくれました。ここで、フォームが存在するかどうかを確認する方法を見つける必要があります。そのフォームを強制的に送信します。

于 2012-05-05T10:41:10.347 に答える
0

よりクリーンな別のオプションとして、 eBay APIを使用できます。新しいアイテムを追加するためのメソッドを提供し、eBay 用の PHP アクセラレータ ツールキットなどの php 用のライブラリを既に構築している可能性があります。

于 2012-05-05T10:02:21.373 に答える