回答編集履歴

4

注意点

2016/03/12 20:27

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,6 +1,8 @@
1
1
  - パラメータを`p`だけにすると表示されるようになりました.
2
2
 
3
3
  - `file_get_contents`よりも`curl_*`系の関数使ったほうが動作が高速になりやすいです.
4
+
5
+ - リクエスト送りすぎるとIPアドレスで規制食らうので注意してください.
4
6
 
5
7
 
6
8
 

3

言い回し

2016/03/12 20:27

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,4 +1,4 @@
1
- - クエリの数減らすと表示されるようになりました.
1
+ - パラメータ`p`だけにと表示されるようになりました.
2
2
 
3
3
  - `file_get_contents`よりも`curl_*`系の関数使ったほうが動作が高速になりやすいです.
4
4
 

2

余分なもの消したらURLが素直になった

2016/03/12 20:24

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -32,11 +32,9 @@
32
32
 
33
33
  foreach ($xpath->query('//*[@id="web"]/ol/li') as $node) {
34
34
 
35
- $wrs = $xpath->evaluate('string(./a/@href)', $node);
36
-
37
35
  $results[] = [
38
36
 
39
- 'url' => urldecode(substr($wrs, strpos($wrs, '**') + 2)),
37
+ 'url' => $xpath->evaluate('string(./a/@href)', $node),
40
38
 
41
39
  'title' => $xpath->evaluate('normalize-space(./a)', $node),
42
40
 

1

修正

2016/03/12 20:24

投稿

mpyw
mpyw

スコア5223

test CHANGED
@@ -1,4 +1,6 @@
1
+ - クエリの数を減らすと表示されるようになりました.
2
+
1
- ブラウザが送信している `Accept` `Accept-Encoding` `Accept-Language` `User-Agent` といったヘッダも真似て送信するようにしてください.また`file_get_contents`よりも`curl_*`系の関数使ったほうが動作が高速になりやすいです.
3
+ - `file_get_contents`よりも`curl_*`系の関数使ったほうが動作が高速になりやすいです.
2
4
 
3
5
 
4
6
 
@@ -16,17 +18,7 @@
16
18
 
17
19
  CURLOPT_RETURNTRANSFER => true,
18
20
 
19
- CURLOPT_USERAGENT => 'Mozilla/5.0',
20
-
21
21
  CURLOPT_ENCODING => 'gzip',
22
-
23
- CURLOPT_HTTPHEADER => [
24
-
25
- 'Accept: text/html,application/xhtml+xml',
26
-
27
- 'Accept-Language: ja',
28
-
29
- ],
30
22
 
31
23
  ]);
32
24