絞り込み条件を変更する
検索条件を絞り込む
有料ブログの投稿方法はこちら

すべてのカテゴリ

15 件中 1 - 15 件表示
カバー画像

PlayWright Browser Toolkit で Webスクレイピングを試してみた

PlayWrightとはPlayWrightは、Microsoft社が開発している、Webテストと自動化のためのフレームワークです。このフレームワークを使用することで、Chromeなどのブラウザをプログラム上で操作することが可能になります。これにより、Webアプリケーションのテストやスクレイピングなどを効率的に行うことができます。 PlayWright Browser Toolkitとは PlayWright Browser Toolkitは、LangChainのAgent toolkitsの一部として実装されています。LangChainのAgentは、静的なサイトだけではなく、動的にレンダリングされるサイトも操作することができるようになるツールです。PlayWright Browser Toolkitを使用することで、AgentはWeb上から情報を取得し、スクレイピングすることができます。 試してみた PlayWright Browser Toolkitを使ってWebスクレイピングを試してみました。モデルはgpt-3.5-turboでも処理できるケースもありましたが、gpt-4の方がやはり精度が高い印象でした。今回は、Agentに対して企業の住所を聞いてみました。Agentが次の通り、インターネットで調べるアクションから始まり、ステップバイステップでWeb上から情報を取得してスクレイピングして、最終的な回答を取得するまでの様子を見ることができました。どうしても、LLMでは実行毎で同じ結果にはならないという反面はありますが、動的なコンテンツなどの制御には今回のような機能が効果を
0
カバー画像

Pythonを使ったウェブスクレイピングの基礎

ウェブスクレイピングは、Webページから情報を抽出するテクニックです。Pythonには、ウェブスクレイピング用いるためのライブラリが用意されています。本記事では、Pythonを使用してウィキペディアから情報を抽出する基本的な手順を解説します。0.必要なライブラリのインストール本記事では、requests、BeautifulSoupライブラリを使用します。requestsは、HTTPリクエストを扱うためのものです。特にウェブページのHTMLを取得するためによく使用されます。BeautifulSoupは、HTMLやXMLの解析を行うためのものです。HTMLのタグ構造を理解し、特定のタグや属性を簡単に検索・抽出できるようにする機能を提供します。以上のインストールがお済でない方は、ターミナルで以下を実行してください。pip install requestspip install BeautifulSoup1.必要なライブラリのインポートまずはじめに、ウェブスクレイピングに必要なライブラリをインポートします。import requestsfrom bs4 import BeautifulSoup2.Webページの取得requests.get()関数を使用して、特定のURLのWebページを取得します。変数urlに、ウェブスクレイピングしたいurlを入れてください。ただし、ウェブスクレイピングはウェブサイトの所有者の許可なしに行うと違法となることもあるため、利用規約に反しないようにご注意ください。url = 'ウェブスクレイピングしたいurlを入れてください'response = reque
0
カバー画像

chromeのバージョンへの対処方法(スクレイピング)

前回のブログで記載していたchromeドライバーのバージョン違いに対する対処方法になります。結論から記載すると、コードの実行ごとにchromeドライバーの最新のものをインストールしなおして対処する方法になります。具体的には以下に記載します。①pip install webdriver_manager#モジュールをインストールします。②from webdriver_manager.chrome import ChromeDriverManager #chromedriverの自動更新に必要なため、importします。③service_path = ChromeDriverManager().install()#chromeドライバーマネージャーにてインストールします。④driver = webdriver.Chrome(service_path)  driver.get(URLを記載) #ウェブスクレイピングしていきます。以上のように記載することで、ドライバーのバージョン違いを回避することができます。
0
カバー画像

webスクレイピングについて

インターネットを経由して必要な情報の取得や、webの操作を自動化するにはseleniumを利用します。標準モジュールではないので、pip install seleniumでインストールする必要があります。chromeのドライバを指定して利用するには、from selenium import webdriverdriver = webdriver.Chrome()driver.get(URLを記載) で可能です。しかし、chromeのバージョンとパソコン内のchromeドライバーのバージョンが同じでないとエラーが発生し、スクレイピングが中断してしまいます。chromeのバージョンの確認は、chromeを開いて、『設定』→『chromeについて』を開くことで可能となります。しかし、chromeのバージョンは突然変わることもあり、その度にchromeのドライバーをインストールしなおすには手間がかかり、保守性が低下してしまいます。そこで、この対処方法を次回のブログで紹介しようと思います。
0
カバー画像

instagramから情報取得をするライブラリ(instaloder)【Python】

前置き以前趣味でInstagramからのビッグデータ収集を行っているのですがInstagramってスクレイピング対策堅いですよね。そんな対策を打破するライブラリをご紹介します!インスタのスクレイピング対策はトップレベルユーザーページへのアクセスで、数十回ユーザーページにアクセスしただけなのに本人確認画面に飛ばされる始末でした。スクレイピング対策の対策に奮闘(プロキシでアクセス、UA変更や人間らしい動きを)しながら様子を伺っていたのですがどれも弾かれダメでした。 どうやらAIなどでスクレイピングを判断しているようです。。希望のライブラリ Instaloader!最終的に海外の掲示板を頼りに周回していると面白いライブラリが見つかりました。『Instaloader』という名前のライブラリでユーザーIDさえあればその人のプロフィールや投稿数、フォロワー、フォロー中の取得が数行で行えました。コンソール(cmd)で、pip install instaloaderと入力すればインストールできます。ライブラリでできること・特定のハッシュタグが付いた投稿の情報取得・ストーリーや投稿画像のダウンロード・投稿のいいね数・プロフィール文やプロフィール画像、フォロワー数など取得などなどプログラミング例【ソース】from instaloader import Instaloader, Profileid = 'watanabenaomi703'  # 渡辺直美さんのアカウントIDを入力しましたprofile = Profile.from_username(L.context, id)  # プロファイル取
0
カバー画像

チャットボット屋を自称し始めたのに自動化ツールの出品を始めました

前回のブログから早いもので一ヶ月以上が経過していました。まだ初購入も達成していませんが、私は元気です。前回、「自分は何者だろう」と考えて「チャットボット屋」ととりあえず名乗ることにしました。ですが、それでもチャットボットは売れません。そこで考えました。「どうして売れないのだろうか」と。・チャットボットそのものに需要が無い・チャットボットの需要はあるが、月額課金制を受け入れてくれるユーザーがいない・チャットボットの需要はあるが、自分の出品説明が拙くて伝わっていない・チャットボットの需要はあるが、自分の出品が他のユーザーに認知されていない(宣伝不足)・チャットボットの需要はあるが、自分のアカウントのランクが低いので信用が足りないどうしようもない順に挙げていくとこんな感じでしょうか。どうしようもないものはどうしようもないので、どうにかできそうなやつからどうにかしてみようと思い、まずはアカウントランクを上げることを目標にしてみることにしました。そこで話は冒頭の「自動化プログラムの出品」に戻ります。とりあえず私が出してみたのがこれ。これがまぁ伸びなかった。チャットボットの何分の1だよって感じの閲覧数で、「自動化って人気無いのか?世の中RPAだの何だので盛り上がってるのに??」って感じで心配になりました。で、危うくさじを投げかけたのですが思いとどまり、「そもそも自動化ってざっくりしすぎでは?」と思うことにしました。改善点の一つでも見つけないとやってられなかったからです。そこで、自動化で考えられるプログラムでかつ自分が作れそうなジャンルを切り出していったらこんな感じになりました。ジャンルによ
0
カバー画像

シリーズ<ココナラ Webスクレイピング分析>その10 出品サービスの出品開始日を計算する

 今回もココナラをWebスクレイピングしていきます。  今回は、ココナラの各出品サービスの出品開始日を求める方法を紹介します。<集計方法> まず、ココナラの各出品サービスは「出品の開始日」はどこにも記載してありません。なので出品サービスがココナラ上に掲載された出品開始日を求める方法は大変特殊な方法を取ります。 出品開始日を求める方法として二つの2つの仮定を置きます。仮定1:出品サービスのURLの番号は古い出品ほど小さい番号になる。「https://coconala.com/services/1855272」なら出品番号は「1855272」仮定2:出品サービスのページの「評価・感想」の最も古い日付(=最初の販売日)より出品サービスの販売開始日のほうが古い この2つの仮定より、出品サービスページの「評価・感想」をスクレイピングで取得し、その最も古い日付に近い日付をもとに出品開始日をもとめます。 今回は取得対象の出品のカテゴリを「相談関係」にします。https://coconala.com/categories/51 理由として、最初の購入の相談から納品までの期間が短いため、「評価・相談」の日付と出品開始日ができるだけ近いと予想されるためです。<集計結果> 集計結果を図1に示します。横軸に出品番号、縦軸に最初の販売日です。図1:出品番号と最初の販売日の関係  図1を見て分かるように、出品番号が大きいほど、すなわち新しい出品ほど、最初の販売日が新しい傾向がくっきりと分かります。 次に、出品番号前後での一番古い販売日を抽出すると、図2のようになります。 図2:出品番号と最初の販売日の関係
0
カバー画像

シリーズ<ココナラ Webスクレイピング分析>その9 ブログ執筆は販売実績につながるか?

 今回もココナラをWebスクレイピングしていきます。  今回は、前回記事「ココナラブログの1日あたりの執筆件数の変化」の続きとして、実際に「ブログ執筆は販売実績につながるか?」という疑問について答えを求めていきましょう。<集計方法>  ココナラのブログのカテゴリーはいくつかありますが、全部集計するのではなく「ビジネス・マーケティング」のカテゴリに絞って集計します。 https://coconala.com/blogs/categories/2<集計結果> 「ブログ執筆は販売実績につながるか?」という疑問に答えるためには「ブログの執筆件数」と「執筆者の販売実績」の関係性をグラフにしてみればよいです。その結果が図1となります。図1:ブログ執筆件数と販売実績の関係 普通に考えると、「ブログ執筆でいっぱい宣伝できるほど販売実績につながる」と思うかもしれませんが、図1から必ずしもそうではなさそうというのが分かります。 ブログ執筆件数でずば抜けて270件書いている出品者は、実際は販売実績は一桁台にとどまっています。それどころか販売実績が50件以上で執筆者のブログ執筆件数は多くて執筆件数10件以下ぐらいです。 もっと分かりやすいように、ブログ執筆件数を50件以下を拡大してみると図2のようになります。図2:ブログ執筆件数と販売実績の関係(執筆件数50件以下拡大)  やはりブログ執筆件数が多いほど販売実績が多いという傾向は必ずしも当てはまらないようです。 しかし、Webスクレイピングで集計した結果はここまでで、実際はブログの内容、宣伝方法などのノウハウまではそれぞれですので、この時点で言えること
0
カバー画像

シリーズ<ココナラ Webスクレイピング分析>その8 ココナラブログの執筆件数の変化?

 今回もココナラをWebスクレイピングしていきます。  今回は、「ココナラブログの1日あたりの執筆件数の変化」を集計するだけで、記事の目的として、「Webスクレイピングでこんな集計ができるのかぁ」とだけ思っていただければ幸いです。<集計方法> ココナラのブログのカテゴリーはいくつかありますが、全部集計するのではなく「ビジネス・マーケティング」のカテゴリに絞って集計します。https://coconala.com/blogs/categories/2<集計結果> 早速、集計した「ココナラブログの1日あたりの執筆件数の変化」をグラフ化してみます。図1:ココナラブログの1日あたりの執筆件数の変化  ブログサービズの開始が2020年の4月からで、その開始から1日あたりの執筆数は変動はあるものの、緩やかに増えていますね。 また、このグラフから推測すると、全体を通して目立った増加をしていないということは「継続してブログを執筆する人がいない」、言い換えると「継続執筆者が定着しない」ということです。ブログの執筆者は出品者ですから、出品者の一番の目的は「売上を上げること」です。この目的のための手段としてブログを執筆が有効であるならば、継続執筆者が増加し、上記のグラフはもっと増加ペースが大きいだろうと予想できますが、そうではありません。この推測を元にすると、「ブログ執筆 ⇨ 販売実績増加」とは必ずしもならないと言えそうです。 次回は、この推測の決定打と言えそうな集計と分析を行ってみようと思います。<前回記事>
0
カバー画像

【Selenium】Instagramスクレイピング-ノウハウ

数ある記事の中からご覧頂きありがとうございます!今回は私が趣味でスクレイピングしていた「Instagram」でつまずいたところを皆さんに共有しようと思います。≪実行環境≫・Windows10 pro・Python3.6.3・Pycharm2020-3・Chrome driver 最新バージョン・Google Chormeブラウザー・Chromedriver オプションでモバイルモードにしています1.Instagramにログインする際の注意事項まずInstagramをスクレイピングする際にはinstagramにログインする必要があります。その際下記のような弊害が出てきます。>>高速な処理を心がけていると入力できないとエラーが出たこれは初学者が陥りやすく、単純ですが原因解明に時間がかかることもあ      ります。今までスクレイピングの経験がある方は分かるかと思いますが、      高速な処理でログインを行うとブラウザが入力処理を行う前や行ってい    る途中に「ログインボタン」が押されてしまい次の処理に移れないことがあります。〔対策〕入力やクリック処理の前には必ず「time.sleep(1)」と入れるとこういったバグはなくなります。これは1秒間待機するという意味です。よく使うので必ず覚えておきましょう。〔例〕※あくまで例文なのでインスタグラムで使用はできません。import timefrom selenium import webdriver~省略~driver.find_element_by_id("username").send_keys(”ログインID”)tim
0
カバー画像

Puppeteer とは?

# はじめにE2EテストやWebスクレイビングするときに使うPuppeteerについて調べてみました。Googleのカンファレンスでも紹介されていたのとNode.jsを使うことがあるので、それに合わせてPuppeteerも使っていこうと思います。# 準備```bash$ brew install yarn$ yarn add puppeteer$ yarn add -D [at]types/node typescript ts-node [at]types/puppeteer```# 最小限の構成```json:package.json{  "scripts": {    "test": "ts-node src/all.ts"  },  "dependencies": {    "puppeteer": "^5.2.1"  },  "devDependencies": {    "[at]types/node": "^14.6.4",    "[at]types/puppeteer": "^3.0.1",    "ts-node": "^9.0.0",    "typescript": "^4.0.2"  }}``````json:tsconfig.json{  "compilerOptions": {    "sourceMap": true,    "target": "es2017",    "module": "commonjs",    "lib": ["dom", "es2017"],    "outDir": "./dist",    "rootDir": ".
0
カバー画像

Webスクレイピングの出品をご購入頂きました!(2・3)

先日以下の出品を別々の方からご購入頂き、先日無事納品が完了したので今日はその記事を書いてみたいと思います。以前こちらの記事を書きましたが、これで当出品でのご購入は計3回となり、モニター価格として設定していた枠が全て埋まった形になります。(そのため、現在の表示価格は通常価格となっております)こちらもオーダーメイドの開発なので詳細は明かせませんが、今回も色々と学びのあるお取引をさせて頂きました。今回技術的に一番大きかった学びはPCの自動操作です。これは(私自身体験したことが無いので詳しくは知りませんがおそらく)巷でRPAと呼ばれるものと同じようなもので、マウスクリックやキーボードのタイピングを、ユーザーがそこにいようがいまいが自動で行ってくれるものです。通常、Webスクレイピングは別の手法で行うことが多いのですが、今回は諸事情でそちらでの解決が難しく、自動操作での解決法を提案したところご快諾頂けたためその手法を採用することになりました。実は提案した時点では私も自動操作を実際にやったことは無かったんですが。そういうことができることはわかっていたので調査を開始し、技術的な課題もいくつかあったのですが、試行錯誤を繰り返して無事納品することができました。もう1件の方はデータ取得で、それ自体は一般的な取得手法だったのですが取引の中でのやり取りがなかなかエキサイティングで面白かったです。当初ご依頼があった時点ではまだやりたいことが明確でなく、相談ベースだったのですが、ご購入者様とお互いにアイディアを出し合い、最終的に解決案を探り当ててご提案し、課題の解決に至りました。普段はお客様のやりたいこと
0
カバー画像

スマホの情報サイトを作り暇つぶし

案件がローカル上のソフトウェア、特にスクレイピングや無在庫ツールが中心と言うこともあり、ウェブ系の案件はほとんどこなしていなかったためそちらにも力を入れるようとまずは個人所有のサービスを作ることにしました。スマホやPCの中古価格は自分でも知りたいのでそれぞれの中古を扱っているサイトからデータをスクレイピングしてデータ化すれば簡単に出来ると思い、まずはヤフオクのスクレイピングツールを作成。具体的にはタイトルUrl 日にち現在価格始まり価格即決価格自動延長可否オークションIdこれらを自動で取得するようにして終了時の価格の平均を取ればある程度の中古の相場は予測できます。これらのことを他のフリマサイトでも行い、全体の相場の情報を集めることが可能です。今までスクレイピングツールを作成していたスキルを生かせるので意外と簡単ですね。
0
カバー画像

大阪市福島区 スクレイピングデータ収集 無料ダウンロード

今回は福島区のデータをスクレイピングしてみました。梅田に近いのでデータ量も多いかと期待しましたが、面積が小さいのか思ったほどは収集できませんでした。次は東京都港区そして大阪市淀川区あたりから収集してみます。評価の低いコインランドリーなどは、新たな土地活用やスペース活用の提案営業のチャンスかもしれませんね。無料ダウンロードのファイル置き場はいつもの場所です。ココナラのお仕事もお待ちしております。
0
カバー画像

【Aliexpress】アリエク用無料スクレイピングツール

ご要望が意外にも多く、アリエクスプレス商品用スクレイピングツール作成中でございます。5名様まで、無償提供しますので、御希望の方はDMにてご連絡ください。※現在は、試作無料ツールですが、今後商品サービス化を考えていますので、応募条件は、バグチェックしていただける方のみでお願い申し上げます。データ収集・・・データ取得項目は、現在【商品タイトル】【商品価格】【画像URL6つ】です。Mac&Windowsともに、動きます。該当者の発表は、DMにてご連絡させて頂きます。(2021年7月11日予定) こちらのブログ等で、誰々様ご当選おめでとうございます〜、など公表はしませんので御安心ください。
0
15 件中 1 - 15
有料ブログの投稿方法はこちら