gigi_QuestionsDesigner
@gigi_QuestionsDesigner (GiGi)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Rのrvestでhtml_formがmixiでエラー

解決したいこと

Rのrvestパッケージでログインを伴うスクレイピングをしたいと思っています。
robots.txtで禁止させていない範囲内で行おうと思い、まずログインを行うために、html_formでmixi(https://mixi.jp/)
のフォームを特定し、取得しようとしたところ下記のようなエラーになってしまいます。

たとえばQiitaでは同じことを行なってもエラーになりません。
原因と解決方法をお教えいいただけると嬉しいです。

発生している問題・エラー

read_xml.raw(content, encoding = encoding, base_url = if (nzchar(base_url)) base_url else x$url,  でエラー: 
  input conversion failed due to input error, bytes 0xAD 0xA5 0xF3 0xA5 [6003]

該当するソースコード

library("rvest")
library("magrittr")

session <- html_session("https://mixi.jp/")
is.session(session)

forms <- html_form(session)

自分で試したこと

1)別のログインを伴うサービスでhtml_formを実施
 →Qiitaではうまくいく。mixi特有か、サービスにアクセス方法が何種類かあるのか
2)別のディレクトリで実施
 →同じエラーが起きる
3)エラー文でGoogle検索
 →目ぼしい記事が見つからず

0

1Answer

mixi の HTML が EUC-JP エンコーディングになっているせいのように思われます。 rvest パッケージについては詳しくありませんが、 http_session("https://mixi.jp/", encoding = "euc-jp") でエンコーディングを指定できないでしょうか?

1Like

Comments

  1. @uasi さん、ご回答ありがとうございますう!
    ```session <- html_session("https://mixi.jp/", encoding="euc-jp")```に変更してから、html_formを実行してみたのですが、同じようなエラーになってしまいました。。。

Your answer might help someone💌