回答編集履歴
3
検索パラメタの"from"を削除
test
CHANGED
@@ -59,3 +59,39 @@
|
|
59
59
|
worksheet.update_cell(cell.row, cell.col +3, author.text)
|
60
60
|
|
61
61
|
```
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
検索APIを確認してみました。
|
66
|
+
|
67
|
+
[https://iss.ndl.go.jp/information/wp-content/uploads/2020/03/ndlsearch_api_20200302_jp.pdf](https://iss.ndl.go.jp/information/wp-content/uploads/2020/03/ndlsearch_api_20200302_jp.pdf)
|
68
|
+
|
69
|
+
年月日の指定で、月を指定すると、年だけのものにはヒットしないようです。
|
70
|
+
|
71
|
+
パラメタの'from'をコメントアウトして見て下さい。
|
72
|
+
|
73
|
+
```python
|
74
|
+
|
75
|
+
# params['from'] = '1980-01-01'
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
あと、以下のコードの意味はなんでしょうか。
|
80
|
+
|
81
|
+
検索が成功したとき、len(items)がcntに等しくなってしまうため。
|
82
|
+
|
83
|
+
無限ループになってしまいます。
|
84
|
+
|
85
|
+
確認して下さい。
|
86
|
+
|
87
|
+
```python
|
88
|
+
|
89
|
+
cnt = int(params['cnt'])
|
90
|
+
|
91
|
+
idx = int(params['idx'])
|
92
|
+
|
93
|
+
if len(items) < cnt:
|
94
|
+
|
95
|
+
break
|
96
|
+
|
97
|
+
```
|
2
NameError: name 'publisher' is not definedについて
test
CHANGED
@@ -35,3 +35,27 @@
|
|
35
35
|
params['title'] = cell.value
|
36
36
|
|
37
37
|
```
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
参照している変数publisherがforループの外です。
|
42
|
+
|
43
|
+
publisherの処理が、forループの内側のときははインデントをforと合わせる必要があります。
|
44
|
+
|
45
|
+
```python
|
46
|
+
|
47
|
+
else:
|
48
|
+
|
49
|
+
list_map['publisher'].append('不明')
|
50
|
+
|
51
|
+
#インデントがあっていないので、forのインデントに合わせてください
|
52
|
+
|
53
|
+
#sheetに反映
|
54
|
+
|
55
|
+
worksheet.update_cell(cell.row, cell.col +1, publisher.text)
|
56
|
+
|
57
|
+
worksheet.update_cell(cell.row, cell.col +2, item.find('title').text)
|
58
|
+
|
59
|
+
worksheet.update_cell(cell.row, cell.col +3, author.text)
|
60
|
+
|
61
|
+
```
|
1
cellの代入を変更しました。
test
CHANGED
@@ -23,3 +23,15 @@
|
|
23
23
|
r = s.get('http://iss.ndl.go.jp/api/opensearch', params=params)
|
24
24
|
|
25
25
|
```
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
cell_list = worksheet.range("A4:A5")だと、cell情報も入っているため、これを参照するときは
|
30
|
+
|
31
|
+
valueで値を参照してください。
|
32
|
+
|
33
|
+
```python
|
34
|
+
|
35
|
+
params['title'] = cell.value
|
36
|
+
|
37
|
+
```
|