Compare commits
No commits in common. "feature/setup-debugging" and "master" have entirely different histories.
feature/se
...
master
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,6 +1,2 @@
|
|||||||
target/
|
target/
|
||||||
.vscode/
|
.vscode/
|
||||||
tomcat-binaries/
|
|
||||||
|
|
||||||
src/main/amazon-scrapi/WEB-INF/classes/
|
|
||||||
src/main/amazon-scrapi/WEB-INF/lib/
|
|
26
README.md
26
README.md
@ -1,29 +1,3 @@
|
|||||||
# amazon-scrapi
|
# amazon-scrapi
|
||||||
|
|
||||||
An API interface with Amazon, that uses webscraping
|
An API interface with Amazon, that uses webscraping
|
||||||
|
|
||||||
# Development Resources
|
|
||||||
- [Intro to servlets](https://dev.to/dilanka-rathnasiri/introduction-to-java-servlets-32oc)
|
|
||||||
|
|
||||||
# Development Environment Setup
|
|
||||||
|
|
||||||
## VSCode / VSCodium
|
|
||||||
|
|
||||||
Install the following softwares
|
|
||||||
- Required for development
|
|
||||||
- Maven
|
|
||||||
- Java JDK
|
|
||||||
- Git
|
|
||||||
- Highly recommended for debugging or deployment
|
|
||||||
- [Apache Tomcat](https://tomcat.apache.org)
|
|
||||||
- Docker
|
|
||||||
|
|
||||||
VSCode Extensions
|
|
||||||
- Extension Pack for Java
|
|
||||||
|
|
||||||
### Tomcat
|
|
||||||
Download binaries for Tomcat.
|
|
||||||
You can get a VSCode extension to deploying project to Tomcat for debugging.
|
|
||||||
Following these guides.
|
|
||||||
- Extension Setup [(Video](https://www.youtube.com/watch?v=R9mugpHWr14) - [Article)](https://www.brandondonnelson.com/2020/06/debugging-java-web-app-in-visual-studio.html).
|
|
||||||
- Helped understand config [(video)](https://www.youtube.com/watch?v=RiPot1ne8rI)
|
|
20
pom.xml
20
pom.xml
@ -28,21 +28,6 @@
|
|||||||
<version>3.8.1</version>
|
<version>3.8.1</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
|
||||||
<groupId>com.microsoft.playwright</groupId>
|
|
||||||
<artifactId>playwright</artifactId>
|
|
||||||
<version>1.48.0</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>ch.qos.logback</groupId>
|
|
||||||
<artifactId>logback-classic</artifactId>
|
|
||||||
<version>1.5.12</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>ch.qos.logback</groupId>
|
|
||||||
<artifactId>logback-access</artifactId>
|
|
||||||
<version>1.5.12</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
@ -52,9 +37,8 @@
|
|||||||
<artifactId>maven-war-plugin</artifactId>
|
<artifactId>maven-war-plugin</artifactId>
|
||||||
<version>3.3.2</version>
|
<version>3.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<webappDirectory>src/main/amazon-scrapi</webappDirectory>
|
<webappDirectory>src/main/webapp</webappDirectory>
|
||||||
<webXml>src/main/amazon-scrapi/WEB-INF/web.xml</webXml>
|
<webXml>src/main/webapp/WEB-INF/web.xml</webXml>
|
||||||
<failOnMissingWebXml>false</failOnMissingWebXml>
|
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
</plugins>
|
</plugins>
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Amazon Scrapi</title>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<h2>Amazon Scrapi</h2>
|
|
||||||
<hr />
|
|
||||||
<p>An API interface with amazon.com using webscraping</p>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,46 +0,0 @@
|
|||||||
package com.veritablevalor.blizliam;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import com.microsoft.playwright.Browser;
|
|
||||||
import com.microsoft.playwright.Page;
|
|
||||||
import com.microsoft.playwright.Playwright;
|
|
||||||
|
|
||||||
public class AmazonRepository {
|
|
||||||
|
|
||||||
Playwright _playwright;
|
|
||||||
Browser _browser;
|
|
||||||
Page _page;
|
|
||||||
boolean _loggedIn = false;
|
|
||||||
Logger _logger;
|
|
||||||
|
|
||||||
final String AMAZON_URL = "https://amazon.com/";
|
|
||||||
|
|
||||||
public AmazonRepository()
|
|
||||||
{
|
|
||||||
Logger logger = LoggerFactory.getLogger(getClass());
|
|
||||||
_logger = logger;
|
|
||||||
|
|
||||||
_logger.info("Amazon URL: " + AMAZON_URL);
|
|
||||||
|
|
||||||
_playwright = Playwright.create();
|
|
||||||
_browser = _playwright.chromium().launch();
|
|
||||||
|
|
||||||
//_page = page;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void AuthIfNeeded(String redirectUrl)
|
|
||||||
{
|
|
||||||
Page page = _browser.newPage();
|
|
||||||
page.navigate(AMAZON_URL);
|
|
||||||
|
|
||||||
boolean loggedIn = page.getByText("Hello, sign in").count() <= 0;
|
|
||||||
|
|
||||||
if (loggedIn)
|
|
||||||
_logger.info("Already Logged in as: ");
|
|
||||||
else
|
|
||||||
_logger.info("Not logged in...");
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,7 +1,6 @@
|
|||||||
package com.veritablevalor.blizliam;
|
package com.veritablevalor.blizliam;
|
||||||
|
|
||||||
import jakarta.servlet.ServletException;
|
import jakarta.servlet.ServletException;
|
||||||
import jakarta.servlet.annotation.WebServlet;
|
|
||||||
import jakarta.servlet.http.HttpServlet;
|
import jakarta.servlet.http.HttpServlet;
|
||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
@ -9,46 +8,11 @@ import jakarta.servlet.http.HttpServletResponse;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
|
||||||
import com.microsoft.playwright.Browser;
|
|
||||||
import com.microsoft.playwright.Page;
|
|
||||||
import com.microsoft.playwright.Playwright;
|
|
||||||
|
|
||||||
@WebServlet(
|
|
||||||
value = "/hello",
|
|
||||||
name = "hello"
|
|
||||||
)
|
|
||||||
public class App extends HttpServlet {
|
public class App extends HttpServlet {
|
||||||
@Override
|
@Override
|
||||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
||||||
String url = "https://amazon.com";
|
|
||||||
|
|
||||||
AmazonRepository _repo = new AmazonRepository();
|
|
||||||
_repo.AuthIfNeeded("");
|
|
||||||
|
|
||||||
PrintWriter out = resp.getWriter();
|
PrintWriter out = resp.getWriter();
|
||||||
|
out.println("Hello!");
|
||||||
/*
|
|
||||||
try (Playwright playwright = Playwright.create()) {
|
|
||||||
Browser browser = playwright.chromium().launch();
|
|
||||||
Page page = browser.newPage();
|
|
||||||
page.navigate(url);
|
|
||||||
|
|
||||||
|
|
||||||
boolean loggedIn = page.getByText("Hello, sign in").count() <= 0;
|
|
||||||
|
|
||||||
System.out.println(page.title());
|
|
||||||
out.println("Here is the page.title: " + page.title());
|
|
||||||
|
|
||||||
if (loggedIn)
|
|
||||||
{
|
|
||||||
out.println("Logged in");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
out.println("Logged out");
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
out.close();
|
out.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user