728x90
반응형
다 한번에 하려하지마라, 이때까지 작업한 파일들이 있기에 거기서 골라먹어도 된다.
함수시작전에 아래코드로 깔끔하게 지워주고 생성하기
$('#cardsbox').empty();
$.ajax({
type: "GET",
url: "http://spartacodingclub.shop/post",
data: {},
success: function (response) {
let rows = response['articles']
for (let i = 0; i < rows.length; i++) {
let comment = rows[i]['comment']
let desc = rows[i]['desc']
let image = rows[i]['image']
let title = rows[i]['title']
let url = rows[i]['url']
let temp_html = `<div class="card">
<img class="card-img-top" src="${image}"
alt="Card image cap">
<div class="card-body">
<a href="${url}" class="card-title">${title}</a>
<p class="card-text">${desc}</p>
<p class="card-text comment">${comment}</p>
</div>
</div>`
$('#cardsbox').append(temp_html);
파이썬이란?
내가쓰는 용어를 컴퓨터 언어로 변환해준다... !?
몽고db 실행?
cmd에서 mongod
http://localhost:27017/ 로 몽고db테스트?
file - setting - package설치 (requests패키지)
임의로 테스트 하는 글
import requests # requests 라이브러리 설치 필요
r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
rjson = r.json()
gus = (rjson['RealtimeCityAir']['row'])
for gu in gus:
gu_name = gu['MSRSTE_NM']
gu_mise = gu['IDEX_MVL']
if (gu_mise >100) :
print(gu_name, gu_mise)
크롤링하기(크롤링을위해 bs4설치하기)
기본코드
검사 : selector로 복사
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
# 코딩 시작
태그 속성을 가져올때는 title['href'] 텍스트를 가져올때는 title.text
최종코드
print(a_tag.text) 입력시 NoneType에러뜰시 if x is not None
import requests
from bs4 import BeautifulSoup
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
trs = soup.select('#old_content > table > tbody > tr')
for tr in trs:
a_tag = tr.select_one('td.title > div > a')
if a_tag is not None:
rank = tr.select_one('td:nth-child(1) > img')['alt']
title = a_tag.text
star = tr.select_one('td.point').text
print(rank,title,star)
mongodb는 눈에 보이지는않지만 이 db값을 로보3t로 불러온다.
pymongo 라이브러리설치하기
pymongo 기본코드
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# 코딩 시작
#insert
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
#find
id:false 는 id값을 불러오지말라는 뜻이다.
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
same_ages = list(db.users.find({'age':21},{'_id':False}))
print(same_ages)
#find 하나만가져오기!
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)
#update_one 찾아서 수정하라!
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
#delete_one 없애버려!!!
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
db.users.delete_one({'name':'bobby'})
genie로 숙제해보기
위에 기본줄을 제외하고는 .strip()으로 공백을없애고, [0:x] x번째 까지 문자열을 자르기가 추가됨
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get('https://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)
soup = BeautifulSoup(data.text,'html.parser')
trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for tr in trs:
title = tr.select_one('td.info > a.title.ellipsis').text.strip()
rank = tr.select_one('td.number').text[0:2].strip()
artist = tr.select_one('td.info > a.artist.ellipsis').text
print(rank,title,artist)
#공백없애기 .strip()
#문자열자르기[0:x]
728x90
반응형
'개발코딩일지' 카테고리의 다른 글
[비개발자를 위한, 웹개발 종합반 (프로그래밍 실무, 풀스택)] 4주차 (0) | 2021.12.12 |
---|---|
[나만의 수익성 앱, 앱개발 종합반] 개발일지(코딩연습일지) 5주차 (0) | 2021.12.11 |
[나만의 수익성 앱, 앱개발 종합반] 개발일지(코딩연습일지) 4주차 (0) | 2021.12.09 |
[나만의 수익성 앱, 앱개발 종합반] 개발일지(코딩연습일지) 3주차 (0) | 2021.12.09 |
[비개발자를 위한, 웹개발 종합반 (프로그래밍 실무, 풀스택)] 2주차 (0) | 2021.12.09 |