teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

訂正

2020/12/08 04:59

投稿

nto
nto

スコア1438

answer CHANGED
@@ -22,6 +22,6 @@
22
22
 
23
23
 
24
24
  あとはsk-sora--ypiさんが回答している様に
25
- ログイン情報を引き継いだ状態でスクレイピングを行いたいならば
25
+ ログイン情報を保持した状態でスクレイピングを行いたいならば
26
26
  for文内でのリクエストを行う際にもsesとしてスクレイピングを行うと良いでしょう。
27
27
  sesを使用せず普通にrequests.getとしてしまうとログイン情報が切れてしまいます。

1

追記

2020/12/08 04:59

投稿

nto
nto

スコア1438

answer CHANGED
@@ -1,12 +1,12 @@
1
- 恐らくはどこかのページを参考としたのでしょうがログイン時のURLとパラメータが間違えている様です。
1
+ ログイン時のURLとパラメータが間違えている様です。
2
2
 
3
- また慣例としてはページのレスポンスに対しresと変数を付ける事がよく見られますが
3
+ また慣例としてはページのレスポンスに対しresやrと変数を付ける事がよく見られますが
4
4
  セッションに対しては[ログイン情報を保った状態でアクセスしている]と言う事がわかりやすい様に
5
5
  変数名はresではなくsesと定義してあげる事をおすすめします。
6
6
 
7
7
  以下のコードでログインした状態でのページの取得ができているかと思います。
8
8
  print(soup)としてログイン後の情報が表示されているかお確かめください。
9
- 出力した際にマイページやログアウトといった項目が表示されていれば正常にログインができている証拠です。
9
+ マイページやログアウトといった項目が表示されていれば正常にログインができている証拠です。
10
10
  ```python
11
11
  login_url = 'https://ja.nc-net.or.jp/login/'
12
12
  login_data = {
@@ -18,4 +18,10 @@
18
18
  page_url = 'https://ja.nc-net.or.jp/search/equipment/?cl[]=1'
19
19
  soup = BeautifulSoup(ses.get(page_url).content, 'lxml')
20
20
  print(soup)
21
- ```
21
+ ```
22
+
23
+
24
+ あとはsk-sora--ypiさんが回答している様に
25
+ ログイン情報を引き継いだ状態でスクレイピングを行いたいならば
26
+ for文内でのリクエストを行う際にもsesとしてスクレイピングを行うと良いでしょう。
27
+ sesを使用せず普通にrequests.getとしてしまうとログイン情報が切れてしまいます。