Skip to content

Commit 7130d32

Browse files
committed
Beautiful Soup kütüphanesi ile ilgili örnek yazıldı.
1 parent ca76251 commit 7130d32

File tree

4 files changed

+370
-0
lines changed

4 files changed

+370
-0
lines changed

Beautiful-Soup/index.html

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<html>
2+
<head>
3+
<style>
4+
.deneme {
5+
color : red;
6+
}
7+
#ikinci_satir {
8+
font-size: 16px;
9+
}
10+
</style>
11+
</head>
12+
13+
<body>
14+
<div>
15+
<ul>
16+
<li>
17+
<div class="deneme deneme2 deneme3" id="ikinci_satir" style="color:red;font-size: 16px">Quae nisi, rem ipsam aut quam </div>
18+
</li>
19+
<li>
20+
<div sezer="serhat">Lorem ipsum dolor sit amet consectetur adipisicing elit. Consectetur voluptate recusandae ullam praesentium expedita magni nostrum corrupti excepturi cupiditate consequatur labore, deleniti impedit maiores amet itaque nulla eos possimus quam.</div>
21+
</li>
22+
<li>
23+
<div class="deneme">Quasi, distinctio. In sequi nihil odio laudantium tempore itaque nesciunt culpa asperiores repellendus mollitia excepturi sapiente iste eos est nobis, obcaecati accusamus deleniti cum, fugiat, deserunt alias? Quae, non officiis!</div>
24+
</li>
25+
</ul>
26+
</div>
27+
28+
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Reiciendis quaerat dolore ratione vel quos culpa laborum vero repellendus mollitia sed, perspiciatis harum cumque voluptates minus aut minima ad, nemo voluptatem.</p>
29+
30+
<table>
31+
<tr>
32+
<td><a href="#">Lorem, ipsum.</a></td>
33+
<td><a href="#">Animi, voluptas.</a></td>
34+
<td><a href="#">Aperiam, cumque?</a></td>
35+
</tr>
36+
<tr>
37+
<td><a href="#">Delectus, consequuntur.</a></td>
38+
<td><a href="#">Vero, provident.</a></td>
39+
<td><a href="#">Error, neque?</a></td>
40+
</tr>
41+
</table>
42+
</body>
43+
44+
</html>

Beautiful-Soup/main.py

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from bs4 import BeautifulSoup
2+
from pprint import pprint
3+
4+
with open("index.html", "r") as f:
5+
soup = BeautifulSoup(f.read(), 'html.parser')
6+
7+
######### OBJECTS #########
8+
9+
# ATTRIBUTES
10+
# pprint(soup.ul.li.div.attrs)
11+
# pprint(soup.ul.li.div["class"])
12+
13+
# ELEMENT İÇERİĞİ
14+
# pprint(soup.ul.li.div.string)
15+
16+
# ELEMENT ADI
17+
# pprint(soup.ul.li.div.name)
18+
19+
######### GOING DOWN #########
20+
21+
# USE TAG NAME
22+
# print(soup.head.style.string)
23+
# print(soup.div.ul.li.div.string)
24+
25+
# CONTENTS
26+
# print(soup.div.ul.children)
27+
# for child in soup.div.ul.children:
28+
# print(child)
29+
30+
# for child in soup.div.ul.contents:
31+
# print(child)
32+
33+
# pprint(soup.div.ul.contents[1])
34+
35+
######### SIBLINGS #########
36+
# print(soup.li.next_sibling.next_sibling.contents[1].attrs)
37+
# print(soup.li.next_sibling.next_element.contents[1].string)
38+
39+
######### SEARCH #########
40+
41+
# FIND SINGLE ELEMENT
42+
# pprint(soup.find("div", {"id" : "ikinci_satir"}))
43+
# pprint(soup.find("div", {"sezer" : "serhat"}))
44+
# pprint(soup.find(id = "ikinci_satir"))
45+
# pprint(soup.find("div", class_="deneme"))
46+
47+
# FIND MULTIPLE ELEMENT
48+
# pprint(soup.find_all("li")[1])
49+
# pprint(soup.find_all("div", {"class" : "deneme"}))
50+
# pprint(soup.find_all("div", { "style" : "color:red"}))
51+
# pprint(soup.find_all("td")[3])

Beautiful-Soup/parse.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import requests
2+
from bs4 import BeautifulSoup
3+
from pprint import pprint
4+
import json
5+
6+
r = requests.get("https://projecteuler.net/archives")
7+
soup = BeautifulSoup(r.text, 'html.parser')
8+
9+
liste = []
10+
11+
for row in soup.find_all("tr"):
12+
col = row.find_all("td")
13+
if col != []:
14+
n = {
15+
"sira_no" : col[0].string,
16+
"name" : col[1].string,
17+
"solved" : col[2].string
18+
}
19+
liste.append(n)
20+
21+
with open("scrap_veri.json", "w") as f:
22+
json.dump(liste, f)
23+
print("File is created.")

Beautiful-Soup/scrap_veri.json

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
[
2+
{
3+
"sira_no": "1",
4+
"name": "Multiples of 3 and 5",
5+
"solved": "770471"
6+
},
7+
{
8+
"sira_no": "2",
9+
"name": "Even Fibonacci numbers",
10+
"solved": "618496"
11+
},
12+
{
13+
"sira_no": "3",
14+
"name": "Largest prime factor",
15+
"solved": "442704"
16+
},
17+
{
18+
"sira_no": "4",
19+
"name": "Largest palindrome product",
20+
"solved": "393830"
21+
},
22+
{
23+
"sira_no": "5",
24+
"name": "Smallest multiple",
25+
"solved": "401849"
26+
},
27+
{
28+
"sira_no": "6",
29+
"name": "Sum square difference",
30+
"solved": "404254"
31+
},
32+
{
33+
"sira_no": "7",
34+
"name": "10001st prime",
35+
"solved": "345976"
36+
},
37+
{
38+
"sira_no": "8",
39+
"name": "Largest product in a series",
40+
"solved": "291910"
41+
},
42+
{
43+
"sira_no": "9",
44+
"name": "Special Pythagorean triplet",
45+
"solved": "294998"
46+
},
47+
{
48+
"sira_no": "10",
49+
"name": "Summation of primes",
50+
"solved": "270525"
51+
},
52+
{
53+
"sira_no": "11",
54+
"name": "Largest product in a grid",
55+
"solved": "195893"
56+
},
57+
{
58+
"sira_no": "12",
59+
"name": "Highly divisible triangular number",
60+
"solved": "183226"
61+
},
62+
{
63+
"sira_no": "13",
64+
"name": "Large sum",
65+
"solved": "188840"
66+
},
67+
{
68+
"sira_no": "14",
69+
"name": "Longest Collatz sequence",
70+
"solved": "188468"
71+
},
72+
{
73+
"sira_no": "15",
74+
"name": "Lattice paths",
75+
"solved": "155728"
76+
},
77+
{
78+
"sira_no": "16",
79+
"name": "Power digit sum",
80+
"solved": "190527"
81+
},
82+
{
83+
"sira_no": "17",
84+
"name": "Number letter counts",
85+
"solved": "126661"
86+
},
87+
{
88+
"sira_no": "18",
89+
"name": "Maximum path sum I",
90+
"solved": "121704"
91+
},
92+
{
93+
"sira_no": "19",
94+
"name": "Counting Sundays",
95+
"solved": "113106"
96+
},
97+
{
98+
"sira_no": "20",
99+
"name": "Factorial digit sum",
100+
"solved": "166842"
101+
},
102+
{
103+
"sira_no": "21",
104+
"name": "Amicable numbers",
105+
"solved": "122178"
106+
},
107+
{
108+
"sira_no": "22",
109+
"name": "Names scores",
110+
"solved": "112749"
111+
},
112+
{
113+
"sira_no": "23",
114+
"name": "Non-abundant sums",
115+
"solved": "86675"
116+
},
117+
{
118+
"sira_no": "24",
119+
"name": "Lexicographic permutations",
120+
"solved": "96313"
121+
},
122+
{
123+
"sira_no": "25",
124+
"name": "1000-digit Fibonacci number",
125+
"solved": "130346"
126+
},
127+
{
128+
"sira_no": "26",
129+
"name": "Reciprocal cycles",
130+
"solved": "69872"
131+
},
132+
{
133+
"sira_no": "27",
134+
"name": "Quadratic primes",
135+
"solved": "73028"
136+
},
137+
{
138+
"sira_no": "28",
139+
"name": "Number spiral diagonals",
140+
"solved": "91729"
141+
},
142+
{
143+
"sira_no": "29",
144+
"name": "Distinct powers",
145+
"solved": "87814"
146+
},
147+
{
148+
"sira_no": "30",
149+
"name": "Digit fifth powers",
150+
"solved": "92009"
151+
},
152+
{
153+
"sira_no": "31",
154+
"name": "Coin sums",
155+
"solved": "70420"
156+
},
157+
{
158+
"sira_no": "32",
159+
"name": "Pandigital products",
160+
"solved": "59345"
161+
},
162+
{
163+
"sira_no": "33",
164+
"name": "Digit cancelling fractions",
165+
"solved": "60065"
166+
},
167+
{
168+
"sira_no": "34",
169+
"name": "Digit factorials",
170+
"solved": "79028"
171+
},
172+
{
173+
"sira_no": "35",
174+
"name": "Circular primes",
175+
"solved": "71292"
176+
},
177+
{
178+
"sira_no": "36",
179+
"name": "Double-base palindromes",
180+
"solved": "75094"
181+
},
182+
{
183+
"sira_no": "37",
184+
"name": "Truncatable primes",
185+
"solved": "61707"
186+
},
187+
{
188+
"sira_no": "38",
189+
"name": "Pandigital multiples",
190+
"solved": "52548"
191+
},
192+
{
193+
"sira_no": "39",
194+
"name": "Integer right triangles",
195+
"solved": "61153"
196+
},
197+
{
198+
"sira_no": "40",
199+
"name": "Champernowne's constant",
200+
"solved": "67315"
201+
},
202+
{
203+
"sira_no": "41",
204+
"name": "Pandigital prime",
205+
"solved": "56902"
206+
},
207+
{
208+
"sira_no": "42",
209+
"name": "Coded triangle numbers",
210+
"solved": "62824"
211+
},
212+
{
213+
"sira_no": "43",
214+
"name": "Sub-string divisibility",
215+
"solved": "49668"
216+
},
217+
{
218+
"sira_no": "44",
219+
"name": "Pentagon numbers",
220+
"solved": "48256"
221+
},
222+
{
223+
"sira_no": "45",
224+
"name": "Triangular, pentagonal, and hexagonal",
225+
"solved": "59808"
226+
},
227+
{
228+
"sira_no": "46",
229+
"name": "Goldbach's other conjecture",
230+
"solved": "51051"
231+
},
232+
{
233+
"sira_no": "47",
234+
"name": "Distinct primes factors",
235+
"solved": "48205"
236+
},
237+
{
238+
"sira_no": "48",
239+
"name": "Self powers",
240+
"solved": "95749"
241+
},
242+
{
243+
"sira_no": "49",
244+
"name": "Prime permutations",
245+
"solved": "48216"
246+
},
247+
{
248+
"sira_no": "50",
249+
"name": "Consecutive prime sum",
250+
"solved": "51900"
251+
}
252+
]

0 commit comments

Comments
 (0)