[爬虫類]問題セット - IMDBの
記事のディレクトリ
この記事はの過程で生じるIMDBのメッセージクロールの問題で使用される
参照著者の全体の内容githubのを
[WinError 87]パラメータエラー:入力行1ピップはOSErrorの与えられたnumpyの発行コマンドをインストールするとき
-
シーン
- condaと仮想環境を作成します。
conda create -n scrapy python=3
- condaと仮想環境を作成します。
-
問題
- あなたは爬虫類のコードが表示されますを実行すると
OSError: [WinError 87] The parameter is incorrect
- あなたは爬虫類のコードが表示されますを実行すると
-
説明
- Pythonのデフォルトでインストールさ= 3 3.8、いくつかのライブラリがpython3.8パイソンをサポートしていません。
-
ソリューション
- condaは-n scrapyパイソン= 3.7を作成します
问题2 WebDriverException:メッセージ:不明なエラー:不正なインスペクタのメッセージ
-
シーン
- pythonで、セレンビルドウェブクローラは、情報を取得し、ページコンテンツ分析XPathを使用して
- URL:https://movie.douban.com/subject/3878007/
-
問題
- webdriverを、ウェブサイトを読み込むことができますが、正しくページのコンテンツに戻ることはできません
WebDriverException:メッセージ:不明なエラー:悪いインスペクタメッセージ
で
3ドライバ= webdriver.Chrome(オプション= chrome_options)
4 driver.get(URL)
----> 5 HTML = driver.page_source
UnicodeEncodeErrorを'UTF-8'コーデック缶」位置76660の'ud83d \'トンエンコード文字:許可されていないサロゲート
(DEFAULT_ENCODING = default_encoding、URL = self.url、HTML = content.encode(DEFAULT_ENCODING))のhtml = HTML
-
説明
- htmlページをクロール爬虫類で絵文字を含む正しい文字列を返しません
- driver.page_sourceがUTF-8を使用してエンコード、その最大の文字は3バイトであり、4バイトの記憶領域は、絵文字を必要
-
ソリューション
- find_element_by_xpathから直接コンテンツを取得するには、page_sourceを返しません
- 使用して、ページのコンテンツを取得するために要求します
同じ名前の文字列変数の値を取得する方法を質問3
-
シーン
- 適切な情報爬虫類を取得した後、可変データフレームの値に加算
-
問題
- 同じ名前の文字列の変数の値を取得します。
-
説明
- ループ反復のデータ構造によって、必要なときにコンテンツ情報をクロール、反復的であってもよいデータ構造に格納されている文字列の形で得られる、アクセスすることができます
-
ソリューション
- ビルトインのPythonのeval()関数は、例えば、評価(「卵」)変数卵の値を返します
問題4クローム追加パラメータ
selenium.webdriver.chrome.optionsからオプションをインポート
fake_useragent輸入のUserAgentから
chrome_options =オプション()
UA =ユーザーエージェント()
のuser_agent = {「ユーザエージェント」:ua.random}
chrome_options.add_argument(F'-ユーザエージェント= {}のuser_agent ')# 要求するユーザエージェントヘッダ追加
chrome_options.add_argument(' -無効-GPUを' )# 無効GPUの
chrome_options.add_argument(' -ヘッドレス)いいえパターン#インタフェース
chrome_options.add_argument( ' -ブリンク-設定= imagesEnabled = FALSE')# 禁止画像ローディング
chrome_options.add_argument( ' -ウィンドウサイズ= 800900')#は、 画面解像度設定
chrome_options.add_experimental_option( 'excludeSwitches'、[」イネーブル-automation「])#ブラウザ調整モードの設定