-
Notifications
You must be signed in to change notification settings - Fork 2
/
find.py
21 lines (21 loc) · 1.09 KB
/
find.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import csv
import requests
from bs4 import BeautifulSoup
data_list=[]
site = requests.get('https://stackoverflow.com/');
if site.status_code is 200:
content = BeautifulSoup(site.content, 'html.parser')
questions = content.find_all(class_='question-summary')
for question in questions:
topic = question.find(class_='question-hyperlink').get_text()
url = question.find(class_='question-hyperlink').get('href')
views = question.find(class_='views').find(class_='mini-counts').find('span').get_text()
answers = question.find(class_='status').find(class_='mini-counts').find('span').get_text()
votes = question.find(class_='votes').find(class_='mini-counts').find('span').get_text()
new_data = {"topic": topic, "url": url, "views": views, "answers":answers, "votes":votes}
data_list.append(new_data)
with open ('find.csv','w') as file:
writer = csv.DictWriter(file, fieldnames = ["topic", "url", "views", "answers", "votes"], delimiter = ';')
writer.writeheader()
for row in data_list:
writer.writerow(row)