From c9b6789cb7671512d9a09c354683521b428aeab1 Mon Sep 17 00:00:00 2001
From: Sonam144 <125741999+Sonam144@users.noreply.github.com>
Date: Tue, 25 Apr 2023 00:40:08 +0530
Subject: [PATCH 1/3] Create homework
---
homework | 1 +
1 file changed, 1 insertion(+)
create mode 100644 homework
diff --git a/homework b/homework
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/homework
@@ -0,0 +1 @@
+
From 3ef6afa944a855735a14c0aa7bbf482a0cd8da04 Mon Sep 17 00:00:00 2001
From: Sonam144 <125741999+Sonam144@users.noreply.github.com>
Date: Tue, 25 Apr 2023 00:58:32 +0530
Subject: [PATCH 2/3] Create connect.py
---
homework1/connect.py | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 homework1/connect.py
diff --git a/homework1/connect.py b/homework1/connect.py
new file mode 100644
index 0000000..a325487
--- /dev/null
+++ b/homework1/connect.py
@@ -0,0 +1,25 @@
+import psycopg2
+import csv
+conn = psycopg2.connect(
+ host="172.17.0.2",
+ port="5432",
+ dbname="web_scrape",
+ user="postgres",
+ password="123456"
+)
+
+cur = conn.cursor()
+
+with open('output.csv','r') as f:
+ csv_reader = csv.reader(f)
+ next(csv_reader)
+ for row in csv_reader:
+ if row[1] =="":
+ row[1] = "N/A"
+
+ cur.execute("INSERT INTO demo (column1, column2, column3) VALUES (%s, %s, %s)",(row[0], row[1],row[2]))
+
+conn.commit()
+
+cur.close()
+conn.close()
From e136b800fb90c552ac28670191f6fe559bd3d025 Mon Sep 17 00:00:00 2001
From: Sonam144 <125741999+Sonam144@users.noreply.github.com>
Date: Tue, 25 Apr 2023 01:03:57 +0530
Subject: [PATCH 3/3] Add files via upload
---
homework1/Dockerfile | 9 +++++++++
homework1/docker-compose.yml | 9 +++++++++
homework1/output.csv | 12 ++++++++++++
homework1/web_scrapping.py | 12 ++++++++++++
4 files changed, 42 insertions(+)
create mode 100644 homework1/Dockerfile
create mode 100644 homework1/docker-compose.yml
create mode 100644 homework1/output.csv
create mode 100644 homework1/web_scrapping.py
diff --git a/homework1/Dockerfile b/homework1/Dockerfile
new file mode 100644
index 0000000..aecbc04
--- /dev/null
+++ b/homework1/Dockerfile
@@ -0,0 +1,9 @@
+FROM python:3.10.2-alpine3.15
+# Create directories
+RUN mkdir -p /root/workspace/src
+COPY ./web_scrapping.py /root/workspace/src
+# Switch to project directory
+WORKDIR /root/workspace/src
+# Install required packages
+RUN pip install --upgrade pip
+RUN pip install requests bs4 html5lib
diff --git a/homework1/docker-compose.yml b/homework1/docker-compose.yml
new file mode 100644
index 0000000..698411c
--- /dev/null
+++ b/homework1/docker-compose.yml
@@ -0,0 +1,9 @@
+psql-db:
+ image: 'postgres:14'
+ container_name: psql-db
+ environment:
+ - PGPASSWORD=123456
+ - POSTGRES_USER=postgres
+ - POSTGRES_PASSWORD=123456
+ ports:
+ - '5434:5432'
diff --git a/homework1/output.csv b/homework1/output.csv
new file mode 100644
index 0000000..b5899ad
--- /dev/null
+++ b/homework1/output.csv
@@ -0,0 +1,12 @@
+column 1,column 2,column 3
+"Major new features of the 3.12 series, compared to 3.11",And now for something completely different,"Major new features of the 3.12 series, compared to 3.11"
+More resources,"More resources",Enjoy the new releases
+
,And now for something completely different,
+,"Major new features of the 3.12 series, compared to 3.11",
+Enjoy the new releases,More resources,
+"Major new features of the 3.12 series, compared to 3.11",,
+More resources,,
+
,,
+And now for something completely different,,
+
,,
+Enjoy the new releases,,
diff --git a/homework1/web_scrapping.py b/homework1/web_scrapping.py
new file mode 100644
index 0000000..30035fb
--- /dev/null
+++ b/homework1/web_scrapping.py
@@ -0,0 +1,12 @@
+import requests
+import csv
+from bs4 import BeautifulSoup
+res=requests.get("https://blog.python.org/")
+soup = BeautifulSoup(res.content, "html.parser")
+titles = soup.find_all("h1")
+with open('output.csv','w',newline='') as f:
+ writer = csv.writer(f)
+ writer.writerow(['column 1','column 2','column 3'])
+ for row in titles:
+ writer.writerow(row)
+f.close()