質問編集履歴

5

誤字

2018/09/19 13:22

投稿

grilled_python
grilled_python

スコア237

test CHANGED
File without changes
test CHANGED
@@ -128,11 +128,9 @@
128
128
 
129
129
 
130
130
 
131
- 2をどのような方法で行うかが問題だと思うのですが、
132
131
 
133
- なんでもDB使って大丈夫とかそういうレベルのお話なんでしょうか?
134
132
 
135
- よろしくお願いいたします。
133
+ ご回答のほどよろしくお願いいたします。
136
134
 
137
135
 
138
136
 

4

改善

2018/09/19 13:22

投稿

grilled_python
grilled_python

スコア237

test CHANGED
File without changes
test CHANGED
File without changes

3

改善

2018/09/19 12:58

投稿

grilled_python
grilled_python

スコア237

test CHANGED
@@ -1 +1 @@
1
- django データの受けDB, session io.stringIO,pickle どを使用するべか。
1
+ djangoプロジェクト内にある他のフレームワークにデータす場合DBで問題ないでしょうか。そよりいい方法があれば教えていただたい
test CHANGED
@@ -1,4 +1,36 @@
1
- djangoのviewsで取得したURL(リストで最大50件)をscrapyに渡してscrapy動かしています。
1
+ djangoのviewsで取得したURL(リストで最大50件)をscrapyに渡してスクレイピングするという方法取っています。
2
+
3
+
4
+
5
+ 同じプロジェクト内の異なるアプリ同士のデータのやり取りに付いての方法についてお聞きしたいです。
6
+
7
+
8
+
9
+ 質問1つ目
10
+
11
+ DBに保存が必要ないデータを(しかしscrapyを動かすのには必要)、同じプロジェクト内の別のフレームワーク間でやり取りする場合どのようにするのがベストなのでしょうか?速度、メモリなど
12
+
13
+ 保存しなくてもいい情報をDBに保存するのは速度的によくないと思っているのですが、
14
+
15
+ あまり気にしなくてもいいのでしょうか?
16
+
17
+
18
+
19
+ 質問2つ目
20
+
21
+ sessionは一時的に使う情報を取り扱う場所との認識がありますが、このような使い方は間違っていたりするのでしょうか?
22
+
23
+
24
+
25
+ 質問3つ目
26
+
27
+ io.StriongIO、pickle、shelveなどが(この3つは使用したことがまだありません)
28
+
29
+ 使用できる様な気がするのですが間違ってますでしょうか?
30
+
31
+ ご教授頂ければ幸いです。よろしくお願いいたします。
32
+
33
+
2
34
 
3
35
 
4
36
 
@@ -24,15 +56,73 @@
24
56
 
25
57
 
26
58
 
59
+ 一見隣同士に見えるmin_app(django)とscrapy_app。最初はdjangoの様にデータが受け渡せると勘違いしておりました。
60
+
61
+
62
+
63
+ そこでscrapy_appのsettigs.pyに書きの三行をいれてdjangoの設定を使えるようにしました。
64
+
65
+ myproject/apps/scrapy_app/scrapy_app/settigs.py
66
+
67
+ ```ここに言語を入力
68
+
69
+ import os
70
+
71
+ import sys
72
+
73
+ import django
74
+
75
+
76
+
77
+ sys.path.append(os.path.dirname(os.path.abspath('../')))
78
+
79
+ os.environ['DJANGO_SETTINGS_MODULE'] = 'config.settings'
80
+
81
+ django.setup()
82
+
83
+ ```
84
+
85
+ これでscrapy内でモデルなどdjangoと同じ様に使えるようになりました。
86
+
87
+
88
+
89
+
90
+
91
+ ```ここに言語を入力
92
+
93
+ from apps.main_app.models import SiteData
94
+
95
+ #モデルが使用できるようになった!
96
+
97
+
98
+
99
+ def start_requests(self):
100
+
101
+ # データベースから取り出した文字列から不必要なものを取り除いてlistにしてscrapyに渡している 中身はhttpsから始まるurlのリスト
102
+
103
+ site_data = SiteData.objects.get(pk=self.unique_id)
104
+
105
+ google_results = site_data.google_results
106
+
107
+ urls = google_results.translate(str.maketrans({"[": None, "]": None, "'": None, ",": None})).split()
108
+
109
+ for url in urls:
110
+
111
+ yield Request(url=url, callback=self.parse)
112
+
113
+ ```
114
+
115
+
116
+
27
117
  djangoのviewsでurlを取得 => DB => scrapy という流れです。
28
118
 
29
- 最初はsessionに保存してscrapyへという流れで動かしたのですが、sessionの使い方として正しくない様な気がしてDBに保存しました。
119
+ 最初はsessionにurlを保存してscrapyへという流れで動かしたのですが、sessionの使い方として正しくない様な気がしてDBに保存しました。
30
120
 
31
121
  しかし、このURLはscrapyを動かすのに使うだけでDBに保存するようなものでもないような気がします。
32
122
 
33
123
  1.django viewsでURLの取得の処理
34
124
 
35
- 2.何らかの方法で保存、またはURLの保持
125
+ 2.DBに保存するかなんらかモジュールを使ってデータを保持
36
126
 
37
127
  3.scrapy内でURLを使用
38
128
 
@@ -40,27 +130,11 @@
40
130
 
41
131
  2をどのような方法で行うかが問題だと思うのですが、
42
132
 
133
+ なんでもDB使って大丈夫とかそういうレベルのお話なんでしょうか?
134
+
135
+ よろしくお願いいたします。
43
136
 
44
137
 
45
- 質問1つ目
46
-
47
- 保存が必要ないデータを、同じプロジェクト内の別のフレームワーク間でやり取りする場合どのようにするのがベストなのでしょうか?速度など。
48
-
49
-
50
-
51
- 質問2つ目
52
-
53
- sessionを使うのは間違っていますか?
54
-
55
-
56
-
57
- 質問3つ目
58
-
59
- io.StriongIO、pickle、shelveなどが(この3つは使用したことがまだありません)
60
-
61
- 使用できる様な気がするのですが間違ってますでしょうか?
62
-
63
- ご教授頂ければ幸いです。よろしくお願いいたします。
64
138
 
65
139
 
66
140
 

2

誤字

2018/09/19 12:58

投稿

grilled_python
grilled_python

スコア237

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  使用できる様な気がするのですが間違ってますでしょうか?
62
62
 
63
- ご教授下さい。よろしくお願いいたします。
63
+ ご教授頂ければ幸です。よろしくお願いいたします。
64
64
 
65
65
 
66
66
 

1

誤字

2018/09/18 13:10

投稿

grilled_python
grilled_python

スコア237

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- djangoのviewsで取得したURLをscrapyに渡してscrapyを動かしています。
1
+ djangoのviewsで取得したURL(リストで最大50件)をscrapyに渡してscrapyを動かしています。
2
2
 
3
3
 
4
4