Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Author: Dawid Mocek <[email protected]>
- Reqs: php_curl, php_regex extensions.
- Define $user & $pass which u enter in these textboxes: https://www.briefing.com/Login/subscriber.aspx
- This script will log in you and logout
- ! HTML will be in $out variable, parse it using appropriate way ( NOT REGEX as I programmed below) !
- */
- $pass = "pass";
- $ch = curl_init();
- $date = new DateTime();
- $date_sql = $date->format('Y-m-d');
- $post_data = "__EVENTTARGET=_buttonLogin&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTE0MDU4NzM3MTRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYDBRNfY2hlY2tCb3hSZW1lbWJlck1lBQxfYnV0dG9uTG9naW4FF19idXR0b25Mb2dpblByb2R1Y3RQaWNr&__EVENTVALIDATION=%2FwEWBgL16NeiBQKizoWDAgLp7cFvAvap%2F9sEArn4h%2BwMArKz36IF&_textBoxUserName=".$user."&_textBoxPassword=".$pass."&_checkBoxRememberMe=on";
- $headers = array(
- "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
- "Accept-Language: pl,en-us;q=0.7,en;q=0.3",
- "Accept-Encoding: gzip, deflate"
- );
- curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1");
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- // Login
- curl_setopt($ch, CURLOPT_URL, "https://www.briefing.com/Login/subscriber.aspx");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- curl_setopt($ch, CURLOPT_COOKIEFILE, './cookie.txt');
- curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
- $login = curl_exec($ch);
- $login = null;
- // Get account profile
- // curl_setopt($ch, CURLOPT_URL,"https://www.briefing.com/investor/Emails/EditMyProfile.aspx");
- // $acct_profile = curl_exec($ch);
- // print_r($acct_profile);
- //
- // Get calendar
- curl_setopt($ch, CURLOPT_URL, "http://www.briefing.com/investor/calendars/earnings/" . $date->format('Y/m/d') . "/");
- $out = curl_exec($ch);
- // Logout
- curl_setopt($ch, CURLOPT_URL, "https://www.briefing.com/Login/Logout.aspx");
- $logout = curl_exec($ch);
- $logout = null;
- curl_close($ch);
- $sql = new mysqli("localhost", "user", "pass", "db");
- /*
- $stmtd = $sql->prepare("DELETE FROM earnings_briefing WHERE data = ?");
- $stmtd->bind_param('s', $date->format('Y-m-d');
- $stmtd->execute();
- */
- $stmti = $sql->prepare("INSERT INTO earnings_briefing (stage, data, ticker) VALUES(?,?,?)");
- $match = array();
- $before_tickers = array();
- if (preg_match("/Before The Open<\/th>(.*?)<thead>|Before The Open<\/th>(.*?)<\/table>/ms", $out, $match)) {
- preg_match_all("/<a\s+class=\"ticker\".*>(.*?)<\/a>/", $match[0], $before_tickers);
- $stage = 'BMO';
- if (!empty($before_tickers[1])) {
- foreach($before_tickers[1] as $ticker) {
- $stmti->bind_param('sss', $stage, $date_sql, $ticker);
- $stmti->execute();
- }
- }
- }
- $after_tickers = array();
- $stage = 'AMC';
- if (preg_match("/After The Close<\/th>(.*?)<\/tr><\/table>/ms", $out, $match)) {
- preg_match_all("/<a\s+class=\"ticker\".*>(.*?)<\/a>/", $match[1], $after_tickers);
- if (!empty($after_tickers[1])) {
- foreach($after_tickers[1] as $ticker) {
- $stmti->bind_param('sss', $stage, $date_sql, $ticker);
- $stmti->execute();
- }
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement