WALMART SCREENSHOT SCRIPT DONEcd ~/Documents/Northpass! And emails from Groups for Wildhealth. Very productive day

This commit is contained in:
Norm Rasmussen
2023-01-31 16:24:35 -05:00
parent ab43ce9d90
commit 55eb10b0f5
17 changed files with 103 additions and 49 deletions

BIN
Scripts/API_Tests/.DS_Store vendored Normal file

Binary file not shown.

View File

@ -1,38 +0,0 @@
<script
type="application/json"
class="js-react-on-rails-component"
data-component-name="TableBox"
data-dom-id="TableBox-react-component-4c1d0baa-eca8-4312-8626-591abf094ee4">
{
"token":"eyJhbGciOiJIUzI1NiJ9.eyJhcGlfa2V5IjoiU2xwUWxqdTIxOVduV29nbjk0ZFFVVDZZdCIsImV4cCI6MTY2NzU2NTg1Nn0.CFD30gpbrwsY1LnddlfvpI1LUojrtK723MTNyeQqixM",
"columns":[
{
"name":"Name",
"field":"name",
"link":"teaching/show",
"sort":true
},
{
"name":"File Name",
"field":"fileName",
"link":"teaching/show",
"sort":true
},
{
"name":"Asset Type",
"field":"assetType",
"as":"i18n",
"sort":"type",
"formatOptions":
{
"scope":"media.asset_type"
}
},
{
"name":"Status",
"field":"status",
"as":"status",
"formatOptions":
{
"errorMessageField":"status_message","i18nScope":"media.asset_status"},"sort":true},{"name":"Date Uploaded","field":"createdAt","as":"date_time","sort":true}],"filterMessage":"","initialHeader":"","initialMessage":"","loadingHeader":"","loadingMessage":"","noDataHeader":"Looks like you haven't uploaded any media assets yet!","noDataMessage":"Start uploading your first asset by clicking the button above.","url":"https://api.northpass.com/v1/media","filters":[{"name":"Asset Type","field":"type","options":[{"label":"Documents","value":"Uploads::Document"},{"label":"Presentations","value":"Uploads::Presentation"},{"label":"Videos","value":"Uploads::Video"},{"label":"SCORM","value":"Uploads::Scorm"}]},{"name":"Asset Status","field":"status","options":[{"label":"Queued","value":"queued"},{"label":"Processing","value":"processing"},{"label":"Ready","value":"ready"},{"label":"Error","value":"error"},{"label":"Replacing","value":"replacing"},{"label":"Error replacing","value":"error_replacing"}]}],"itemActions":[{"action":"delete","behavior":"deprecated_confirm_modal","behaviorOptions":{"disabledCondition":{"status":"replacing"},"hiddenCondition":{"status":"error_replacing"},"confirmButtonOptions":{"classes":["np-button--danger"],"text":"I understand, please delete."},"deleteHeader":"Are you sure you want to delete this file?","modalContent":"delete_media"}},{"action":"edit"},{"action":"replace","behaviorOptions":{"disabledCondition":{"status":"replacing"},"hiddenCondition":{"replaceable":false},"requirement":{"status":"ready"}}},{"action":"download","behaviorOptions":{"disabledCondition":{"status":"replacing"},"hiddenCondition":{"status":"error_replacing"}}},{"action":"Dismiss Error","behavior":"dismiss_error_link","behaviorOptions":{"buttonClassNames":"uk-dropdown-button","disabledCondition":{"status":"replacing"},"hiddenCondition":{"status":"not_error_replacing"}}},{"action":"create_course_from_file","behaviorOptions":{"hiddenCondition":[{"status":"not_ready"},{"assetType":"not_scorm_single"}],"method":"post"}}],"options":{"search":true,"classNames":[]}}</script><div id="TableBox-react-component-4c1d0baa-eca8-4312-8626-591abf094ee4"></div>

View File

@ -1,4 +1,5 @@
import requests
import pandas as pd
apiKey = "HWxj6VTNPwbc3WghFTPzr7SjE"
# Wild Health
@ -8,21 +9,24 @@ groupurl = f"https://api.northpass.com/v2/groups/{groupid}/memberships"
def getemailsfromGroup(apiKey, groupid, groupurl):
x = 0
emails = []
emaillist = []
while True:
x += 1
url = groupurl
url = f"https://api.northpass.com/v2/groups/{groupid}/memberships?page={x}"
headers = {"accept": "application/json", "X-Api-Key": apiKey}
response = requests.get(url, headers=headers)
jsonResponse = response.json()
next = jsonResponse["links"]
for email in jsonResponse["included"][1]["attributes"]["email"]:
emails.append(email)
for emails in jsonResponse["included"]:
email = emails["attributes"]["email"]
print(email)
emaillist.append(email)
if "next" not in next:
break
print(emails)
print(emaillist)
pd.DataFrame(emaillist).to_csv('/Users/normrasmussen/Downloads/emails_in_group.csv')
if __name__ == "__main__":

BIN
Scripts/Walmart_Screenshots/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -0,0 +1,64 @@
const puppeteer = require('puppeteer');
const path = require('path')
// const urls = [...]
/*for (let i=0; i<urls.length; i++){
const url = urls[i];
await page.goto('${url}');
await page.waitForNavigation({ waitUntil: 'networkkidle2' });
}*/
const url = process.argv[2];
if (!url) {
throw "Please provide a URL as the first argument";
}
const activity = new Array();
const activityLinks = new Array();
var num = 0
async function courseOverview() {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport({ width:390, height:844 })
await page.goto(url);
await page.title();
const [getXpath] = await page.$x('//*[@id="course-desktop"]/div/div[3]/div[2]/div[2]/div[2]/ol/li/div');
const resourcetitle = await page.evaluate(name => name.innerText, getXpath);
const resource = resourcetitle.trim();
console.log(resource);
await page.screenshot({path: `${resource}.png`, fullPage:true, headless:false});
const hrefs = await page.$$eval('a', as => as.map(a => a.href));
var links = Object.entries(hrefs);
links.forEach(([key, value]) => {
var link = value;
if (link.includes("activities")) {
activity.push(link);
}
});
uniqueLinks = [...new Set(activity)];
for (const link of uniqueLinks) {
num = num+1
let uid = "?uid\=7b84eae4-fb34-4689-9f33-24071c3e5a41"
const newlink = link+uid;
console.log(newlink)
screenshots(newlink, resource, num);
}
await browser.close();
}
async function screenshots(newlink, resource, num) {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setViewport({ width: 390, height: 844 })
await page.goto(newlink);
await page.screenshot({path: `${resource}_${num}.png`, fullPage: true, headless: false});
await browser.close();
}
courseOverview();