タグ付けされた質問 「web-scraping」

Webスクレイピングは、APIや他の自動データ取得方法を簡単に提供できないWebサイトから特定の情報を抽出するプロセスです。「スクレイピングの開始方法」(例:Excel VBA)に関する質問は、多数の機能コードのサンプルが利用可能であるため、*徹底的に調査する必要があります。Webスクレイピング方法には、サードパーティアプリケーション、カスタムソフトウェアの開発、または標準化された方法での手動のデータ収集さえ含まれます。

8
どのようにすればより速くこすることができますか
ここでの仕事は、APIにから始まるサイトこすりすることhttps://xxx.xxx.xxx/xxx/1.jsonにhttps://xxx.xxx.xxx/xxx/1417749.jsonし、MongoDBのに正確にそれを書くの。そのために私は次のコードを持っています: client = pymongo.MongoClient("mongodb://127.0.0.1:27017") db = client["thread1"] com = db["threadcol"] start_time = time.time() write_log = open("logging.log", "a") min = 1 max = 1417749 for n in range(min, max): response = requests.get("https:/xx.xxx.xxx/{}.json".format(str(n))) if response.status_code == 200: parsed = json.loads(response.text) inserted = com.insert_one(parsed) write_log.write(str(n) + "\t" + str(inserted) + "\n") print(str(n) + …

3
VBAとHTMLでオートコンプリートリストの項目をクリックします
Webサイトに詳細を入力できる自動化を作成しました(ただし、内部なので共有することはできません)。以下のコードは、「受信者」というテキストを入力するまで機能します。ただし、この「受信者」フィールドにはオートコンプリートリストがあり、TINや住所などの他のフィールドに入力するためにそれを選択する必要があります。 オートコンプリートリストは、https://jqueryui.com/autocomplete/ またはhttp://demos.codexworld.com/autocomplete-textbox-using-jquery-php-mysql/のリストと非常によく似てい ます。 以下は私のコードです: Sub Automate_IE_Enter_Data() 'This will load a webpage in IE Dim i As Long Dim Url As String Dim IE As InternetExplorer Dim objElement As Object Dim objCollection As Object Dim HWNDSrc As Long Dim wsTemplate As Worksheet Dim objEvent As Object Dim li_arr As Variant …

1
ペイロード内で使用するためにスクリプトが自動的にいくつかの値を生成することができません
続いて2つのhttpsリクエストを送信して、ターゲットページからhtml要素を取得するスクリプトを作成しました。私のスクリプトは問題なく問題なく実行できます。ただし、payloadターゲットページに到達するための最終的なHTTPリクエストを送信するために、Chrome開発ツールから4つの値をコピーして4つのキーを入力する必要がありました。これは開始リンクであり、以下はターゲットページに到達する方法に関する説明です。 ボタンをクリックしFind Hotelます(chek-out日付のデフォルトがcheck-in日付よりも少なくとも1日長い場合は、日付を変更する必要はありません)。 下の画像のようにボックスにチェックを入れ、そのBook Nowすぐ上のボタンを押します。これで、ターゲットページに自動的に移動するはずです。 というタイトルのターゲットページに到達したら、Enter Guest Detailsそこからhtml要素を解析します。 私は試してみました(動作しているもの): import requests from bs4 import BeautifulSoup url = 'https://booking.discoverqatar.qa/SearchHandler.aspx?' second_url = 'https://booking.discoverqatar.qa/PassengerDetails.aspx?' params = { 'Module':'H','txtCity':'','hdnCity':'2947','txtHotel':'','hdnHotel':'', 'fromDate':'05/11/2019','toDate':'07/11/2019','selZone':'','minSelPrice':'', 'maxSelPrice':'','roomConfiguration':'2|0|','noOfRooms':'1', 'hotelStandardArray':'63,60,54,50,52,51','CallFrom':'','DllNationality':'-1', 'HdnNoOfRooms':'-1','SourceXid':'MTEzNzg=','mdx':'' } payload = { 'CallFrom':'MToxNjozOCBQTXxCMkN8MToxNjozOCBQTQ==', 'Btype':'MToxNjozOCBQTXxBfDE6MTY6MzggUE0=', 'PaxConfig':'MToxNjozOCBQTXwyfDB8MnwwfHwxOjE2OjM4IFBN', 'usid':'MToxNjozOCBQTXxoZW54dmkzcWVnc3J3cXpld2lsa2ZwMm18MToxNjozOCBQTQ==' } with requests.Session() as s: r = s.get(url,params=params,headers={"User-agent":"Mozilla/5.0"}) res = s.get(second_url,params=payload,headers={ "User-agent":"Mozilla/5.0", "Referer":r.url …

2
ユーザー名を解析して、ウェブサイトにログインしていることを確認できません
Pythonでスクリプトを記述してWebサイトにログインし、ユーザー名を解析して実際にログインできたことを確認しました。以下で試​​した方法を使用すると、そこに到達したようです。ただし、成功するために、スクリプト内でChrome開発ツールから取得したハードコードされたCookieを使用しました。 私は試しました: import requests from bs4 import BeautifulSoup url = 'https://secure.imdb.com/ap/signin?openid.pape.max_auth_age=0&openid.return_to=https%3A%2F%2Fwww.imdb.com%2Fap-signin-handler&openid.identity=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.assoc_handle=imdb_pro_us&openid.mode=checkid_setup&siteState=eyJvcGVuaWQuYXNzb2NfaGFuZGxlIjoiaW1kYl9wcm9fdXMiLCJyZWRpcmVjdFRvIjoiaHR0cHM6Ly9wcm8uaW1kYi5jb20vIn0&openid.claimed_id=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0%2Fidentifier_select&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0' signin = 'https://secure.imdb.com/ap/signin' mainurl = 'https://pro.imdb.com/' with requests.Session() as s: res = s.get(url,headers={"User-agent":"Mozilla/5.0"}) soup = BeautifulSoup(res.text,"lxml") payload = {i['name']: i.get('value', '') for i in soup.select('input[name]')} payload['email'] = 'some username' payload['password'] = 'some password' s.post(signin,data=payload,headers={ "User-agent":"Mozilla/5.0", "Cookie": 'adblk=adblk_yes; ubid-main=130-2884709-6520735; _msuuid_518k2z41603=95C56F3B-E3C1-40E5-A47B-C4F7BAF2FF5D; …

2
JuliaでWebスクレイピングを行うにはどうすればよいですか?
このサイトから大学名とそのウェブサイトの名前をリストに抽出したいと思います。 Pythonでは、BeautifulSoup v4を使用しました。 import requests from bs4 import BeautifulSoup import pandas as pd page = requests.get('https://thebestschools.org/features/best-computer-science-programs-in-the-world/') content = BeautifulSoup(page.text, 'html.parser') college_name = [] college_link = [] college_name_list = content.find_all('h3',class_='college') for college in college_name_list: if college.find('a'): college_name.append(college.find('a').text) college_link.append(college.find('a')['href']) 私はジュリアでのプログラミングが本当に好きで、Pythonに非常に似ているので、ジュリアでもWebのスクレイピングができるかどうか知りたいと思っていました。任意の助けいただければ幸いです。

3
リクエストを使用してWebページからの正確な結果を解析できません
私はウェブページから2つのフィールドを解析するためにpythonでスクリプトを作成しました- total revenueそしてそれは心配dateです。私が求めているフィールドはJavaScriptで暗号化されています。それらは、json配列内のページソースで使用できます。次のスクリプトは、これらの2つのフィールドを適宜解析できます。 ただし、問題は、そのページに表示される日付がページソースで使用可能な日付と異なることです。 ウェブページのリンク そのWebページの日付は次のようである。この ページのソースの日付は次のようである。この 明らかに1日の変動があります。 このタブをクリックすると、そのWebページにアクセスした後Quarterly、そこに結果が表示されます。 私は試しました: import re import json import requests url = 'https://finance.yahoo.com/quote/GTX/financials?p=GTX' res = requests.get(url) data = re.findall(r'root.App.main[^{]+(.*);',res.text)[0] jsoncontent = json.loads(data) container = jsoncontent['context']['dispatcher']['stores']['QuoteSummaryStore']['incomeStatementHistoryQuarterly']['incomeStatementHistory'] total_revenue = container[0]['totalRevenue']['raw'] concerning_date = container[0]['endDate']['fmt'] print(total_revenue,concerning_date) 私が得た結果(100万の収益): 802000000 2019-06-30 私が得たい結果: 802000000 2019-06-29 このティッカーを試してみるとAAPL、正確な日付が取得されるため、サブトレースまたは日を追加することはできません。 そのサイトから正確な日付を取得するにはどうすればよいですか? ところで、私はセレンを使用してそれらを取得する方法を知っているので、に固執したいと思いrequestsます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.