質問編集履歴

3

タイトルの修正

2018/08/18 14:01

投稿

x066
x066

スコア23

test CHANGED
@@ -1 +1 @@
1
- 指定した単語が存在するWebページからスクレイピング
1
+ 指定した単語が存在するWebページからスクレイピング(python)
test CHANGED
File without changes

2

問題点の追記

2018/08/18 14:01

投稿

x066
x066

スコア23

test CHANGED
File without changes
test CHANGED
@@ -34,13 +34,13 @@
34
34
 
35
35
  現在は指定したサイトのクラスからURLを抽出しようとしています。
36
36
 
37
+ ※以前の【AttributeError: 'NoneType' object has no attribute 'get'】が出て来るエラーは直りました。ありがとうございます。(8/18追記)
38
+
37
39
  ###ソースコード
38
40
 
39
41
  ```python
40
42
 
41
43
  # coding: UTF-8
42
-
43
-
44
44
 
45
45
  import requests
46
46
 
@@ -54,35 +54,29 @@
54
54
 
55
55
 
56
56
 
57
- soup = BeautifulSoup(responsew.text,'lxml')
57
+ soup = BeautifulSoup(response.text,'lxml')
58
58
 
59
- #lxmlというツールでresponse.textを変換、変数へ格納
59
+ #lxmlというツールでresponse.textを変換、スクレイピングできる形にして変数へ格納
60
60
 
61
61
 
62
62
 
63
- data = soup.find('a',class_='クラス名').get('href')
63
+ Cdata = soup.find_all("div", class_="クラス名")
64
64
 
65
65
 
66
66
 
67
+ for x in Cdata:
68
+
69
+ Udata = x.get("href")
70
+
67
- print(data)
71
+ print (Udata)
68
72
 
69
73
  ```
70
74
 
71
75
  ###エラー
72
76
 
73
- ようなエラーガ出てしいます
77
+ 「None」と表示され、URL取得ができせん
74
78
 
75
- クラスを指定せずサイト全体のURLを抽出するパターンうまくいきました。
79
+ 指定したクラス実際に存在するはずなのですが・・・
76
-
77
- ```実行結果
78
-
79
- AttributeError: 'NoneType' object has no attribute 'get'
80
-
81
- ```
82
-
83
-
84
-
85
-
86
80
 
87
81
 
88
82
 

1

※8/18追記 すみません、記載情報があまりに少なすぎました

2018/08/18 11:43

投稿

x066
x066

スコア23

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,13 @@
1
+ #【実行環境および使用言語】
2
+
3
+ -CentOS 7
4
+
5
+ -Python 2.7.5
6
+
7
+
8
+
9
+ #【やりたいこと】
10
+
1
11
  次のような操作を行いたいと考えております。
2
12
 
3
13
 
@@ -20,7 +30,59 @@
20
30
 
21
31
 
22
32
 
33
+ #【進捗】
34
+
35
+ 現在は指定したサイトのクラスからURLを抽出しようとしています。
36
+
37
+ ###ソースコード
38
+
39
+ ```python
40
+
41
+ # coding: UTF-8
42
+
43
+
44
+
45
+ import requests
46
+
47
+ from bs4 import BeautifulSoup
48
+
49
+
50
+
51
+ response = requests.get('URL')
52
+
53
+ #HTMLを取得して変数へ格納
54
+
55
+
56
+
23
- 自身で調べたところスクレイピングはpythonで出来るようなのですが、上記の手順は分かりません。
57
+ soup = BeautifulSoup(responsew.text,'lxml')
58
+
59
+ #lxmlというツールでresponse.textを変換、変数へ格納
60
+
61
+
62
+
63
+ data = soup.find('a',class_='クラス名').get('href')
64
+
65
+
66
+
67
+ print(data)
68
+
69
+ ```
70
+
71
+ ###エラー
72
+
73
+ 次のようなエラーガ出てしまいます。
74
+
75
+ クラスを指定せずにサイト全体のURLを抽出するパターンはうまくいきました。
76
+
77
+ ```実行結果
78
+
79
+ AttributeError: 'NoneType' object has no attribute 'get'
80
+
81
+ ```
82
+
83
+
84
+
85
+
24
86
 
25
87
 
26
88