반응형
shorturl

Short URL API

긴 http 주소를 짧게 만들어 주는 방법

이 서비스를 제공하는 곳은 구글, 네이버, bitly 등이 있다. 하지만 최근 구글은 short url 서비스를 종료해서 다른 곳을 이용해야 한다. 여기서는 bitly를 API로 이용하는 방법을 설명한다.

  • 계정생성

  • 계정ID 및 apikey 확인

  • 단축 URL 생성을 API로…
    아래 데이터를 POST로 Web API 주소로 보내면 단축URL 결과를 받을 수 있다.

아래는 curl 커맨드로 전문을 보내어 longurl을 단축해 보았다.

curl -X POST http://api.bit.ly/v3/shorten -d "login=o_5*********" \
 -d "apiKey=R_5******************************3" \
  -d "longUrl=https://crazyj.tistory.com/173?category=753578"

결과

{"status_code":200,"status_txt":"OK","data":{"url":"http://bit.ly/34BRNHZ","hash":"34BRNHZ","global_hash":"34GlWWS","long_url":"https://crazyj.tistory.com/173?category=753578","new_hash":1}}

JSON 데이터를 파싱하면 data에 url 부분으로 단축된 것을 볼 수 있다.
만들어진 짧은 주소로 접속해보니 long url로 변환되어 들어가는 것을 볼 수 있다.
기존 긴 주소: https://crazyj.tistory.com/173?category=753578
변경된 짧은 주소: http://bit.ly/34BRNHZ

  • 요약
  • POST로 아래 데이터만 채워서 API URL로 보내면 된다.
  • API URL : http://api.bit.ly/v3/shorten
  • 파라미터 POST DATA (키명은 아래처럼 다 소문자로 해도 작동되는 것 같다.)
    • login=계정
    • apikey=키
    • longurl=긴URL주소
  • GET 방식도 지원한다.

Author: crazyj7@gmail.com

반응형
10D_notation

D notation/operator

D[(D+2t)[t38]]D[(D+2t)[t^3-8]]

(D+2t)[D[t38]](D+2t)[D[t^3-8]]

D(D+2t)(D+2t)DD(D+2t) \ne (D+2t)D
내부에 t가 있으면 교환법칙 성립안함.
D(D+2)=(D+2)D=D2+2DD(D+2) = (D+2)D=D^2+2D
내부에 t가 없으면 교환가능

(D+2)[(D1)[t38]](D+2)[(D-1)[t^3-8]]

(D1)[(D+2)[t38])(D-1)[(D+2)[t^3-8])

(D2+D2)[t38](D^2+D-2)[t^3-8]

(D+2)(D1)=(D1)(D+2)(D+2)(D-1)=(D-1)(D+2)
(D+2)(D1)=(D2+D2)(D+2)(D-1)=(D^2+D-2)

System D.E.

{x(t)=3x(t)4y(t)+1y(t)=4x(t)7y(t)+10t}x'(t)=3x(t)-4y(t)+1 \brace y'(t)=4x(t)-7y(t)+10t

{x(t)=3x(t)4y(t)+1y(t)=4x(t)7y(t)+10ty(t)=4x7y+104x=12x16y+43y=12x21y+30t4x3y=5y+430t4x=3y+5y+430ty=3y+5y+430t7y+10y+4y5y=30t+14found 2nd order LDE. \begin{cases} x'(t) &= 3x(t)-4y(t)+1 \\ y'(t) &= 4x(t)-7y(t)+10t \\ \end{cases} \\ y''(t) = 4x'-7y'+10 \\ 4x'=12x-16y+4\\ 3y'=12x-21y+30t\\ 4x'-3y'=5y+4-30t\\ 4x' = 3y'+5y+4-30t \\ y'' =3y'+5y+4-30t-7y'+10 \\ y'' +4y' -5y = -30t + 14 \\ \text{found 2nd order LDE.}
yh:r2+4r5=0,(r1)(r+5)=0r=15yh:et,e5typform:At+By=A,y=0y+4y5y=30t+140+4A5At5B=30t+14A=6,245B=14,B=2yp=6t+2y=Det+Ee5t+6t+2 y_h: r^2+4r-5=0, (r-1)(r+5)=0\\ r=1 \lor -5 \\ y_h: e^t, e^{-5t} \\ y_p form: At+B\\ y'=A, y''=0\\ y'' +4y' -5y = -30t + 14 \\ 0+4A-5At-5B=-30t+14\\ A=6, \quad 24-5B=14, \quad B=2\\ y_p = 6t+2\\ y = De^t+Ee^{-5t}+6t+2\\

연립방정식에서 x DE를 y처럼 구할수도 있지만  y를 대입해서 구한다.y(t)=4x(t)7y(t)+10t4x(t)=y+7y10t=Det5Ee5t+6+7Det+7Ee5t+42t+1410t=2Ee5t+8Det+32t+20x(t)=12Ee5t+2Det+8t+5 \text{연립방정식에서 x DE를 y처럼 구할수도 있지만 \\ y를 대입해서 구한다.}\\ y'(t) = 4x(t)-7y(t)+10t\\ 4x(t) = y'+7y-10t\\ =De^t-5Ee^{-5t}+6+7De^t+7Ee^{-5t}+42t+14-10t\\ =2Ee^{-5t}+8De^t+32t+20\\ x(t) = \frac 1 2Ee^{-5t}+2De^t+8t+5

Alt. Use D operator (D 연산자를 이용한 방식)
{x(t)=3x(t)4y(t)+1y(t)=4x(t)7y(t)+10t{x3x+4y=14x+y+7y=10t{(D3)(x)+4y=14x+(D+7)(y)=10t{4(D3)(x)+16y=4(D3)(4x)+(D3)(D+7)(y)=(D3)(10t) \begin{cases} x'(t) &= 3x(t)-4y(t)+1 \\ y'(t) &= 4x(t)-7y(t)+10t \\ \end{cases} \\ \begin{cases} x' -3x +4y &= 1 \\ -4x +y'+7y&= 10t \\ \end{cases} \\ \begin{cases} (D-3)(x) +4y &= 1 \\ -4x +(D+7)(y)&= 10t \\ \end{cases} \\ \begin{cases} 4(D-3)(x) +16y &= 4 \\ (D-3)(-4x) +(D-3)(D+7)(y)&= (D-3)(10t) \\ \end{cases} \\
16y+(D3)(D+7)(y)=(D3)(10t)+416y+(D2+4D21)y=1030t+416y+y+4y21y=30t+14y+4y5y=30t+14 16y+(D-3)(D+7)(y) = (D-3)(10t)+4\\ 16y+(D^2+4D-21)y = 10-30t+4\\ 16y+y''+4y'-21y=-30t+14\\ y''+4y'-5y=-30t+14 \\
위와 동일한 2계 미방을 구했다. 이하 생략.

y+4y5y=1430ty''+4y'-5y=14-30t

(D2+4D5)y=1430tD2(D2+4D5)y=D2(1430t)=0D2(D2+4D5)=0D2(D+5)(D1)=0D=0(repeated),1,5yform:C,Ct,et,e5typform:At+B(C, Ct same form.)input:ypy+4y5y=1430t0+4A5At5B=1430tA=6,B=2yp=6t+2y=C1et+C2e5t+6t+2 (D^2+4D-5) y = 14-30t\\ D^2(D^2+4D-5) y = D^2(14-30t)=0\\ D^2(D^2+4D-5)=0\\ D^2(D+5)(D-1)=0\\ D=0(repeated), 1, -5\\ y form: C, Ct, e^t, e^{-5t}\\ y_p form : At+B (\text{C, Ct same form.})\\ input : y_p \\ y''+4y'-5y=14-30t \\ 0+4A-5At-5B=14-30t\\ A=6, B=2\\ y_p = 6t+2\\ y = C_1e^t+C_2e^{-5t}+6t+2

system of differential equation.

Q {x+y+2x=0x+yxy=sin(t)}x'+y'+2x=0 \brace x'+y'-x-y=sin(t)

{x+y+2x=0(1)x+yxy=sin(t)(2){(D+2)x+Dy=0(D1)x+(D1)y=sin(t)substract{(D1)(D+2)x+(D1)Dy=(D1)0(D+2)(D1)x+(D+2)(D1)y=(D+2)sin(t)(D2D)y(D2+D2)y=(D+2)sin(t)yy(y+y2y)=(cos(t)+2sin(t))2y+2y=cos(t)2sin(t) \begin{cases} x'+y'+2x=0 \quad &(1)\\ x'+y'-x-y=sin(t) \quad &(2) \end{cases} \\ \begin{cases} (D+2)x+Dy=0 \\ (D-1)x+(D-1)y=sin(t) \end{cases}\\ substract \begin{cases} (D-1)(D+2)x+(D-1)Dy=(D-1)0 \\ (D+2)(D-1)x+(D+2)(D-1)y=(D+2)sin(t) \end{cases}\\ (D^2-D)y-(D^2+D-2)y=-(D+2)sin(t)\\ y''-y'-(y''+y'-2y)=-(cos(t)+2sin(t))\\ -2y'+2y=-cos(t)-2sin(t)\\

2y2y=cos(t)+2sin(t)(2D2)y=cos(t)+2sin(t)yh:2r2=0,r=1yh=C1etypform:yp=Acos(t)+Bsin(t)yp=Asin(t)+Bcos(t)2y2y=cos(t)+2sin(t)2Asin(t)+2Bcos(t)2Acos(t)2Bsin(t)=cos(t)+2sin(t)(2B2A)cos(t)+(2A2B)sin(t)=cos(t)+2sin(t)2B2A=1,2A2B=24A=3,A=34,2B+32=1,2B=12B=14y=C1et34cos(t)14sin(t) 2y'-2y=cos(t)+2sin(t)\\ (2D-2)y=cos(t)+2sin(t)\\ y_h : 2r-2=0, r=1 \\ y_h = C_1e^{t}\\ y_p form : y_p = Acos(t)+Bsin(t)\\ y_p' = -Asin(t)+Bcos(t) \\ 2y'-2y=cos(t)+2sin(t) \\ -2Asin(t)+2Bcos(t)-2Acos(t)-2Bsin(t) = cos(t)+2sin(t) \\ (2B-2A)cos(t)+(-2A-2B)sin(t) = cos(t)+2sin(t)\\ 2B-2A=1, -2A-2B=2 \\ -4A=3, A=-\frac 3 4 , 2B+\frac 3 2 = 1, 2B=-\frac 1 2\\ B=-\frac 1 4\\ \therefore y = C_1e^{t}-\frac 3 4 cos(t)-\frac 1 4 sin(t) \\
Alternative.
2y+2y=cos(t)2sin(t)yy=12cos(t)+sin(t)Int.Factor=e1dt=et(ety)=et(12cos(t)+sin(t))ety=et(12cos(t)+sin(t))dt=12etcos(t)dt+etsin(t)dtetcos(t)dt=etsin(t)(et)(cos(t))+et(cos(t))dtetcos(t)dt=12et(sin(t)cos(t))etsin(t)dt=et(cos(t))(et)(sin(t))+et(sin(t))dtetsin(t)dt=12et(cos(t)+sin(t))ety=14et(sin(t)cos(t))12et(cos(t)+sin(t))+C1y=14(sin(t)cos(t))12(cos(t)+sin(t))+C1ety=34cos(t)14sin(t)+C1etsame result. good.y=C1et+34sin(t)14cos(t) -2y'+2y=-cos(t)-2sin(t)\\ y'-y=\frac 1 2 cos(t)+sin(t)\\ Int.Factor=e^{\int -1 dt}=e^{-t}\\ (e^{-t}y)' = e^{-t}(\frac 1 2 cos(t)+sin(t))\\ e^{-t}y = \int e^{-t}(\frac 1 2 cos(t)+sin(t)) dt\\ =\frac 1 2 \int e^{-t}cos(t)dt+\int e^{-t} sin(t)dt\\ \int e^{-t}cos(t) dt = e^{-t}sin(t)-(-e^{-t})(-cos(t))+\int e^{-t}(-cos(t))dt\\ \int e^{-t}cos(t) dt = \frac 1 2 e^{-t}(sin(t)-cos(t)) \\ \int e^{-t}sin(t) dt = e^{-t}(-cos(t))-(-e^{-t})(-sin(t))+\int e^{-t}(-sin(t))dt\\ \int e^{-t}sin(t) dt = -\frac 1 2 e^{-t}(cos(t)+sin(t))\\ e^{-t}y = \frac 1 4 e^{-t}(sin(t)-cos(t))-\frac 1 2 e^{-t}(cos(t)+sin(t))+C_1\\ y = \frac 1 4 (sin(t)-cos(t))-\frac 1 2(cos(t)+sin(t))+C_1e^t\\ \therefore y = -\frac 3 4 cos(t)-\frac 1 4 sin(t)+C_1e^t \quad \text{same result. good.}\\ y' = C_1e^{t}+\frac 3 4 sin(t)-\frac 1 4 cos(t) \\

And…


  • Try to use EQ. (1)
    x+y+2x=0x+C1et+34sin(t)14cos(t)+2x=0x+2x=C1et34sin(t)+14cos(t)(D+2)x=C1et34sin(t)+14cos(t)xh:r+2=0,r=2xh=Ee2txpform=Aet+Bcos(t)+Csin(t)xp=AetBsin(t)+Ccos(t)x+2x=C1et34sin(t)+14cos(t)AetBsin(t)+Ccos(t)+2Aet+2Bcos(t)+2Csin(t)=C1et34sin(t)+14cos(t)3Aet(B2C)sin(t)+(2B+C)cos(t)=C1et34sin(t)+14cos(t)3A=C1,B2C=34,2B+C=144B+2C=24,5B=54,B=14,C=1424=14xp=13C1et+14cos(t)14sin(t)x(t)=Ee2t13C1et+14cos(t)14sin(t) \begin{aligned} &x'+y'+2x=0 \\ &x'+C_1e^{t}+\frac 3 4 sin(t)-\frac 1 4 cos(t)+2x=0\\ &x'+2x=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &(D+2)x=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &x_h : r+2=0, r=-2\\ &x_h = E e^{-2t}\\ &x_p form = Ae^{t}+Bcos(t)+Csin(t) \\ &x_p' = Ae^{t}-Bsin(t)+Ccos(t) \\ &x'+2x=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &Ae^{t}-Bsin(t)+Ccos(t)+2Ae^{t}+2Bcos(t)+2Csin(t)\\ &=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &3Ae^{t}-(B-2C)sin(t)+(2B+C)cos(t)=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &3A=-C_1, B-2C=\frac 3 4, 2B+C=\frac 1 4\\ &4B+2C=\frac 2 4, 5B=\frac 5 4, B=\frac 1 4, C=\frac 1 4-\frac 2 4=-\frac 1 4\\ &x_p = -\frac 1 3 C_1e^{t}+\frac{1}{4}cos(t)-\frac 1 {4}sin(t)\\ & \therefore x(t) = Ee^{-2t}-\frac 1 3 C_1e^{t}+\frac{1}{4}cos(t)-\frac 1 {4}sin(t)\\ \end{aligned}
    But… e2te^{-2t} ??? is Not the solution.

Alternative.
x+2x=C1et34sin(t)+14cos(t)Int.Factor=e2dt=e2t(e2tx)=C1e3t34e2tsin(t)+14e2tcos(t)e2tx=C1e3tdt34e2tsin(t)dt+14e2tcos(t)dte2tsin(t)dt=e2t(cos(t))2e2t(sin(t))+4e2t(sin(t))dt5e2tsin(t)dt=e2t(cos(t)+2sin(t))e2tsin(t)dt=15e2t(cos(t)+2sin(t))e2tcos(t)dt=e2t(sin(t))2e2t(cos(t))+4e2t(cos(t))dt5e2tcos(t)dt=e2t(sin(t)+2cos(t))e2tcos(t)dt=15e2t(sin(t)+2cos(t))e3ttdt=13eudu=13eu=13e3te2tx=C1e3tdt34e2tsin(t)dt+14e2tcos(t)dt=C13e3t320e2t(cos(t)+2sin(t))+120e2t(sin(t)+2cos(t))+C2x=C13et320(2sin(t)cos(t))+120(sin(t)+2cos(t))+C2e2tx=C13et520sin(t)+520cos(t)+C2e2tx=C13et14sin(t)+14cos(t)+C2e2te2t found again ?? \begin{aligned} &x'+2x=-C_1e^{t}-\frac 3 4 sin(t)+\frac 1 4 cos(t)\\ &Int.Factor = e^{\int 2 dt}=e^{2t}\\ &(e^{2t}x)' = -C_1e^{3t}-\frac 3 4 e^{2t}sin(t)+\frac 1 4 e^{2t}cos(t)\\ &e^{2t}x = -C_1\int e^3tdt-\frac 3 4\int e^{2t}sin(t)dt+\frac 1 4 \int e^{2t}cos(t)dt\\ &\int e^{2t}sin(t)dt =e^{2t}(-cos(t))-2e^{2t}(-sin(t))+\int 4e^{2t}(-sin(t))dt \\ &5\int e^{2t}sin(t)dt = e^{2t}(-cos(t)+2sin(t))\\ &\int e^{2t}sin(t)dt = \frac 1 5 e^{2t}(-cos(t)+2sin(t)) \\ &\int e^{2t}cos(t)dt =e^{2t}(sin(t))-2e^{2t}(-cos(t))+\int 4e^{2t}(-cos(t))dt \\ &5\int e^{2t}cos(t)dt = e^{2t}(sin(t)+2cos(t))\\ &\int e^{2t}cos(t)dt = \frac 1 5 e^{2t}(sin(t)+2cos(t)) \\ &\int e^{3t}t dt = \frac 1 3 \int e^u du =\frac 1 3 e^{u} = \frac 1 3 e^{3t}\\ & \therefore e^{2t}x = -C_1\int e^3tdt-\frac 3 4\int e^{2t}sin(t)dt+\frac 1 4 \int e^{2t}cos(t)dt\\ &=-\frac {C_1} 3 e^{3t}-\frac 3 {20} e^{2t}(-cos(t)+2sin(t)) +\frac 1 {20} e^{2t}(sin(t)+2cos(t)) + C_2 \\ &x = -\frac {C_1} 3 e^t-\frac 3 {20}(2sin(t)-cos(t))+\frac 1 {20}(sin(t)+2cos(t))+C_2e^{-2t}\\ &x = -\frac {C_1} 3 e^t-\frac 5 {20}sin(t)+\frac 5 {20}cos(t)+C_2e^{-2t}\\ &x = -\frac {C_1} 3 e^t-\frac 1 {4}sin(t)+\frac 1 {4}cos(t)+C_2e^{-2t}\\ &e^{-2t} \text{ found again } ?? &\quad \\ \end{aligned}


  • Try to use EQ. (2)
    x+yxy=sin(t)xx+yy=sin(t)xx+C1et+34sin(t)14cos(t)(34cos(t)14sin(t)+C1et)=sin(t)xx+sin(t)+12cos(t)=sin(t)xx=12cos(t)IntegrationFactor=et(etx)=12etcos(t)etx=12etcos(t)dtetx=12(12et(sin(t)cos(t))+C3)x=14(cos(t)sint(t))+C3et \begin{aligned} &x'+y'-x-y=sin(t)\\ &x'-x+y'-y=sin(t)\\ &x'-x+C_1e^{t}+\frac 3 4 sin(t)-\frac 1 4 cos(t)-(-\frac 3 4 cos(t)-\frac 1 4 sin(t)+C_1e^t) \\ &= sin(t)\\ &x'-x+sin(t)+\frac 1 2 cos(t)=sin(t)\\ &x'-x=-\frac 1 2 cos(t) \\ & IntegrationFactor = e^{-t}\\ &( e^{-t}x)' = -\frac 1 2 e^{-t} cos(t) \\ &e^{-t}x = -\frac 1 2 \int e^{-t} cos(t) dt \\ &e^{-t}x = -\frac 1 2 (\frac 1 2 e^{-t}(sin(t)-cos(t)) +C_3)\\ &x = \frac 1 4 (cos(t) - sint(t))+C_3e^t \end{aligned}
    alternative.
    xx=12cos(t)2x2x=cos(t)1. find xh2x2x=0,(2D2)x=02r2=0,r=1xh=C3et2. find xpxp=Acost+Bsintxp=Asint+Bcost2x2x=cos(t)2(Asint+Bcost)2(Acost+Bsint)=cos(t)(2B2A)cost+(2A2B)sint=cost2B2A=1,2A2B=0,A=B,4B=1,B=1/4,A=1/43. find xx=C3et+14cost14sint \begin{aligned} &x'-x=-\frac 1 2 cos(t) \\ &2x'-2x=-cos(t)\\ &\text {1. find }x_h\\ & 2x'-2x=0 , \quad (2D-2)x=0\\ & 2r-2=0, r=1 \\ & x_h = C_3e^t \\ & \text{2. find }x_p\\ & x_p = Acost+Bsint\\ & x_p' = -Asint+Bcost \\ &2x'-2x=-cos(t)\\ &2(-Asint+Bcost)-2(Acost+Bsint)=-cos(t)\\ &(2B-2A)cost + (-2A-2B)sin t = -cost \\ &2B-2A=-1, -2A-2B=0, A=-B, 4B=-1, \\ &B=-1/4, A=1/4\\ &\text{3. find } x \\ &x = C_3e^t+\frac 1 4 cos t - \frac 1 4 sin t \end{aligned}

Q. {x=yx(0)=3x(0)=1y=xy(0)=1y(0)=1}x''=y \quad x(0)=3 \quad x'(0)=1 \brace y''=x \quad y(0)=1 \quad y'(0)=-1

D2(x)y=0D2(y)x=0D4(x)D2(y)=0D4(x)x=0(D41)(x)=0r41=0(r21)(r2+1)=0r=±1,r=±ix(t)=C1et+C2et+C3cos(t)+C4sin(t)x(t)=C1et+C2etC3sin(t)+C4cos(t)x(t)=C1et+C2etC3cos(t)C4sin(t)x(0)=C1+C2+C3=3x(0)=C1+C2+C4=12C2+C3+C4=4y=D2(x)=C1et+C2etC3cos(t)C4sin(t)y=C1et+C2et+C3sin(t)C4cos(t)y(0)=C1+C2C3=1y(0)=C1+C2C4=12C2C3C4=04C2=4,C2=1C1+C3=2,C4C1=0,C1=C4C1C3=0,C1=C3=1x(t)=et+et+cos(t)+sin(t)y(t)=et+etcos(t)sin(t) D^2(x)-y=0 \\ D^2(y)-x=0 \\ D^4(x)-D^2(y)=0\\ D^4(x)-x=0\\ (D^4-1)(x)=0 \\ r^4-1=0 \\ (r^2-1)(r^2+1)=0 \\ r=\pm1 , \quad r=\pm i\\ x(t) = C_1e^{-t}+C_2e^{t}+C_3cos(t)+C_4sin(t)\\ x'(t) = -C_1e^{-t}+C_2e^{t}-C_3sin(t)+C_4cos(t)\\ x''(t) = C_1e^{-t}+C_2e^{t}-C_3cos(t)-C_4sin(t)\\ x(0) = C_1+C_2+C_3=3\\ x'(0)=-C_1+C_2+C_4=1\\ 2C_2+C_3+C_4=4\\ y = D^2(x) = C_1e^{-t}+C_2e^{t}-C_3cos(t)-C_4sin(t)\\ y' = -C_1e^{-t}+C_2e^{t}+C_3sin(t)-C_4cos(t)\\ y(0) = C_1+C_2-C_3=1 \\ y'(0) = -C_1+C_2-C_4=-1 \\ 2C_2-C_3-C_4=0\\ 4C_2=4, C_2=1\\ C_1+C_3=2, C_4-C_1=0, C_1=C_4\\ C_1-C_3=0, C_1=C_3=1\\ \therefore x(t) = e^{-t}+e^{t}+cos(t)+sin(t)\\ y(t) = e^{-t}+e^{t}-cos(t)-sin(t)

Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivative100 [61-70]  (0) 2019.11.19
derivatie100 [51-60]  (0) 2019.11.18
derivative100 [41-50]  (1) 2019.11.06
derivative100 [31-40]  (0) 2019.11.05
derivative100 [21-30]  (0) 2019.11.04
반응형
BeautifulSoup

BeautifulSoup

HTML, XML 문서를 구조적으로 분석하여 원하는 데이터를 쉽게 추출하게 도와주는 모듈.
bs4 (버전4)를 사용하기를 권장함.

간단하게 요약

  • 설치
    pip install beautifulsoup4
    pip install lxml
from bs4 import BeautifulSoup
soup = BeautifulSoup(html) # html 문서를 파싱한다. (string, network connection 등)
print(soup.prettify())  # HTML을 이쁘게 출력한다.

soup.title # <title>hello</title>
soup.title.string # hello
soup.title.parent.name # head
soup.p # <p class="tt"><b>hi</b></p>
soup.p['class']  # tt
soup.a  # <a class='sister' href='http://abc.com/el' id='link1'>El</a>

soup.find_all('a') # [<a>..</a>, <a>...</a>, <a>..</a> ]

soup.find(id='link3') # <a href="http://abc.com/ea', id='link3'>EA</a>

for link in soup.find_all('a'):
	print(link.get('href')) # http://....

soup.get_text() # hello hi El....
  • BeautifulSoup(markup, parser)
    • markup : html 문서 스트링, html 문서 파일핸들, 네트웍 커넥션 등
    • parser : ‘html.parser’ 또는 ‘lxml’
    • lxml이 더 빠르고 관대함. xml도 지원.
  • 태그 출력은 preffify() : 이쁘게 출력한다. soup.prettify()
  • 그대로 출력하려면 str()로 타입캐스팅. str(soup)
  • 태그는 .태그명으로 접근한다. 기본적으로 이름이 있고 .name 으로 알 수 있으며 name을 변경하면 문서에도 반영된다.
    • soup.p = “div”
  • 태그의 속성은 [속성]으로 접근한다. 또는 get()으로 접근할 수 있다. 속성은 .attrs로 알 수 있다.
    • soup.p.attrs # 속성목록 조회 {‘class’:‘bold’}
    • soup.p[‘class’] : 속성을 구한다. 키가 없으면 KeyError 발생
    • soup.p.get(‘class’) : 위와 같지만 키가 없으면 None리턴으로 존재여부 체크를 할 수 있음.
    • 속성값이 여러개면 리스트로 반환된다.
  • 태그의 속성 수정
    • soup.p[‘class’]=‘verybold’
    • soup.p[‘id’]=1
    • soup.p
      <p class="verybold" id="1">
    • del soup.p[‘class’] # 속성 삭제
  • 스트링 변경
    • soup.p.string.replace_with(“new text”)
  • 스트링 추출 (string vs text)
    • soup.p.string : p태그 내의 스트링. 주의! 내부에 순수하게 스트링만 존재해야함. 아니면 None. (태그가 있어도 안됨.)
    • soup.p.text 또는 soup.p.get_text() : 내부의 텍스트를 전체 가져옴.
  • 태그의 자손. 리스트로 리턴한다.
    • soup.p.contents : 리스트로 가져온다.

find / find_all

태그를 찾는다. 클래스나 아이디로도 검색가능. find는 한 개를 찾고 find_all은 복수개를 찾는다. find_all은 리스트로 리턴한다.

  • find_all(“title”) : title태그를 모두 찾는다.
  • find_all(“p”, “title”) : p태그 중 class가 title인 태그를 모두 찾는다.
  • find_all(id=“link2”) : ID로 찾는다.
  • find_all(class_=re.compile(“itl”)) : 클래스명에 itl이 들어간 태그들 모두 추출
  • find_all(text=“elise”) : 문자열 찾기
  • find_all(“a”, text=“elise”) : 태그내의 문자열로 태그 찾기
  • 정규식 지원
    • soup.find_all( re.compile("^b")) : b로 시작하는 태그 모두 추출. ( b, body 등)
  • 여러 태그 추출도 가능
    • soup.find_all([“a”, “b”]) : 리스트로 주면 리스트내의 태그들을 모두 찾는다.
    • find_all(“a”, limit=2) : 최대 2개만 찾는다.
    • find_all(“title”, recursive=False) : 1뎁스(직계차일드)만 검색함. 예를 들면 soup.html.에서 위와 같이 찾으면 [] 리턴(not found.)
    • find_all() 대신 ()만 사용해도 같다. (함수이름 생략) 예를 들면 soup.title.find_all(text=True)는 soup.title(text=True) 와 동일.
    • find()는 처음 발견된 한 개만 리턴. (find_all에서 limit=1을 주면 동일한데, 리스트가 아닌 스트링(태그객체)으로 리턴.)
    • Not Found인 경우, find()는 None 리턴. find_all()은 [] 리턴.

find_parent/ find_parents

  • find / find_all의 반대. 상위계층으로 올라가면서 찾는다.
  • a_string = soup.find(text=‘top10’) # u’top10’
  • a_string.find_parents(“a”) # [ a태그들을 가져옴 ]
  • a_string.find_parent(“p”) # p태그를 가져옴.

select

  • soup.select(선택자) : css 선택자로 검색한다. 그냥 태그를 쓰면 태그 검색. 항상 리스트로 리턴함.
  • soup.select(‘title’)
  • soup.select(“body a”)
  • soup.select(“html head title”)
  • soup.select(“head > title”) : 헤드내부에 1단계 뎁스에서 title 찾기.
  • 클래스 찾기 : soup.select(".sister") 또는 soup.select("[class~=sister]")
  • ID로 찾기 : soup.select("#link1")
  • 속성으로 찾기
    • soup.select(‘a[href=“http://abc.com/elise”]’)
    • soup.select(‘a[href^=“http://abc.com/”]’) : 이것으로 시작하는 링크들. 끝나는 링크는 href$를 사용.

get_text

  • 텍스트 부분만 모두 추출한다. 하나의 스트링을 만들어 리턴.
  • .text로 해도 된다.

strings/stripped_strings

  • 둘 다 스트링들만 리스트로 추출하는 건데, stripped_strings는 필요없는 것을 제거함.
  • 줄바꿈, 공백 등 필요없는 것들에 제거한 스트링 리스트를 리턴. [text for text in soup.stripped_strings]

Author: crazyj7@gmail.com

'Python' 카테고리의 다른 글

파이썬 개발환경/가상환경구축  (0) 2019.12.01
진법 표현 및 수 스트링 변환  (0) 2019.11.24
크롤링(Crawl) 2편  (2) 2019.10.27
웹 크롤링 Crawl 1편  (1) 2019.10.24
인코딩에러 cp949  (1) 2019.10.02
반응형
derivative_br_41

41. ddx(x)sqrt(4x2)\frac{d}{dx} (x)sqrt(4-x^2)

ddxx4x2=4x2+x2x24x2=42x24x2 \begin{aligned} &\frac{d}{dx} x\sqrt{4-x^2}=\sqrt{4-x^2}+x\frac{-2x}{2\sqrt{4-x^2}}\\ &=\frac{4-2x^2}{\sqrt{4-x^2}} \end{aligned}


42. ddxsqrt(x21)/x\frac{d}{dx}sqrt(x^2-1)/x

ddxx21x=2x22x21x21x2=1x21x21x2=1x2x21 \begin{aligned} &\frac{d}{dx} \frac {\sqrt{x^2-1}} x =\frac {\frac{2x^2}{2\sqrt{x^2-1}}-\sqrt{x^2-1}}{x^2}\\ &=\frac{1}{\sqrt{x^2-1}}-\frac{\sqrt{x^2-1}}{x^2} \\ &=\frac{1}{x^2\sqrt{x^2-1}} \end{aligned}


43. ddxx/sqrt(x21)\frac{d}{dx}x/sqrt(x^2-1)

ddxxx21=x21x2x2x21x21=1x21x2x21(x21)=1x21(x21) \begin{aligned} &\frac{d}{dx} \frac x {\sqrt{x^2-1}}\\ &=\frac{\sqrt{x^2-1}-x\frac{2x}{2\sqrt{x^2-1}}}{x^2-1}\\ &=\frac{1}{\sqrt{x^2-1}}-\frac{x^2}{\sqrt{x^2-1}(x^2-1)}\\ &=-\frac{1}{\sqrt{x^2-1}(x^2-1)} \end{aligned}


44. ddxcos(arcsinx)\frac{d}{dx} cos(arcsinx)

ddxcos(arcsinx)=sin(arcsinx)11x2=x1x2 \begin{aligned} &\frac{d}{dx} cos(arcsinx)\\ &=-sin(arcsinx)\frac{1}{\sqrt{1-x^2}}\\ &=-\frac{x}{\sqrt{1-x^2}} \end{aligned}


45. ddxln(x2+3x+5)\frac{d}{dx} ln(x^2 + 3x + 5)

ddxln(x2+3x+5)=2x+3x2+3x+5 \begin{aligned} &\frac{d}{dx} ln(x^2 + 3x + 5)\\ &=\frac{2x+3}{x^2 + 3x + 5} \end{aligned}


46. ddx(arctan(4x))2\frac{d}{dx}(arctan(4x))^2

ddx(arctan(4x))2=2arctan(4x)41+16x2=8tan14x1+16x2 \begin{aligned} &\frac{d}{dx}(arctan(4x))^2\\ &=2arctan(4x)\frac{4}{1+16x^2}\\ &=\frac{8\tan^{-1}{4x}}{1+16x^2} \end{aligned}


47. ddxcubert(x2)\frac{d}{dx}cubert(x^2)

ddxx23=ddxx23=23x13=23x3 \begin{aligned} &\frac{d}{dx}\sqrt[3]{x^2}=\frac{d}{dx}x^{\frac{2}{3}}\\ &=\frac{2}{3}x^{-\frac{1}{3}}=\frac{2}{3\sqrt[3]{x}} \end{aligned}


48. ddxsin(sqrt(x)lnx)\frac{d}{dx}sin(sqrt(x) lnx)

ddxsin(xlnx)=cos(xlnx)(12xlnx+x1x)=cos(xlnx)ln(x)x+2x2x \begin{aligned} &\frac{d}{dx}sin(\sqrt{x} lnx)\\ &=cos(\sqrt{x} lnx)(\frac{1}{2\sqrt x}lnx+\sqrt x \frac{1}{x})\\ &=cos(\sqrt{x} lnx)\frac{ln(x)\sqrt{x}+2\sqrt x}{2x} \end{aligned}


49. ddxcsc(x2)\frac{d}{dx}csc(x^2)

ddxcsc(x2)=csc(x2)cot(x2)2x=2xcsc(x2)cot(x2)cf)ddxcsc2x=2cscx(cscxcotx)=2csc2xcotx \begin{aligned} &\frac{d}{dx}csc(x^2)=-csc(x^2)cot(x^2)2x\\ &=-2xcsc(x^2)cot(x^2)\\ &cf) \frac{d}{dx}csc^2x=2cscx(-cscxcotx)\\ &=-2csc^2xcotx\\ \end{aligned}


50. ddx(x21)/lnx\frac{d}{dx}(x^2-1)/lnx

ddxx21lnx=2xlnx((x21)1x)(lnx)2=2xlnxx+(1/x)(lnx)2 \begin{aligned} &\frac{d}{dx}\frac{x^2-1}{lnx}=\frac{2xlnx-((x^2-1)\frac{1}{x})}{(lnx)^2}\\ &=\frac{2xlnx-x+(1/x)}{(lnx)^2} \end{aligned}



Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivatie100 [51-60]  (0) 2019.11.18
D operator  (0) 2019.11.07
derivative100 [31-40]  (0) 2019.11.05
derivative100 [21-30]  (0) 2019.11.04
derivative100 [11-20]  (0) 2019.10.31
반응형
derivative_br_31

31. d2dx219sec(3x)\frac{d^2}{dx^2}\frac{1}{9} sec(3x)

d2dx219sec(3x)=19d2dx2sec(3x)=13ddxsec(3x)tan(3x)=sec(3x)tan(3x)tan(3x)+sec(3x)sec2(3x)=sec(3x)(tan2(3x)+sec2(3x)) \begin{aligned} &\frac{d^2}{dx^2}\frac{1}{9} sec(3x)\\ &=\frac{1}{9}\frac{d^2}{dx^2} sec(3x)=\frac{1}{3}\frac{d}{dx}sec(3x)tan(3x)\\ &=sec(3x)tan(3x)tan(3x)+sec(3x)sec^2(3x)\\ &=sec(3x)(tan^2(3x)+sec^2(3x))\\ \end{aligned}


32. d2dx2(x+1)/sqrt(x)\frac{d^2}{dx^2} (x+1)/sqrt(x)

d2dx2x+1x=ddxx(x+1)12xx=ddxx2x2xx=ddxxxx2x2=12ddxx12x32=14x32+34x52=3x4x52 \begin{aligned} &\frac{d^2}{dx^2} \frac{x+1}{\sqrt x} \\ &=\frac{d}{dx}\frac{\sqrt x-(x+1)\frac{1}{2\sqrt x} }{x}=\frac{d}{dx}\frac{\frac{\sqrt x}{2}-\frac{\sqrt x}{2x}}{x}\\ &=\frac{d}{dx}\frac{x\sqrt x -\sqrt x }{2x^2}= \frac{1}{2}\frac{d}{dx} x^{-\frac{1}{2}}-x^{-\frac{3}{2}}\\ &=-\frac{1}{4}x^{-\frac{3}{2}}+\frac{3}{4}x^{-\frac{5}{2}}\\ &=\frac{3-x}{4x^{\frac{5}{2}}} \end{aligned}


33. d2dx2arcsin(x2)\frac{d^2}{dx^2}arcsin(x^2)

d2dx2arcsin(x2)=ddx2x1x4=21x42x4x321x41x4=21x41x4+4x41x41x4=2+2x4(1x4)3/2 \begin{aligned} &\frac{d^2}{dx^2}arcsin(x^2) \\ &=\frac{d}{dx} \frac{2x}{\sqrt{1-x^4}}=\frac{2\sqrt{1-x^4}-2x\frac{-4x^3}{2\sqrt{1-x^4}}}{1-x^4}\\ &=\frac{2\frac{1-x^4}{\sqrt{1-x^4}}+\frac{4x^4}{\sqrt{1-x^4}}}{1-x^4}\\ &=\frac{2+2x^4}{(1-x^4)^{3/2}} \end{aligned}


34. d2dx21/(1+cosx)\frac{d^2}{dx^2}1/(1+cosx)

d2dx211+cosx=ddxsinx(1+cosx)2=cosx(1+cosx)2+sinx2(1+cosx)sinx(1+cosx)4=A=cosx+2cos2x+cos3x+2sin2x+2sin2xcosx(1+cosx)4=2+cosx(1+cos2x+2sin2x)(1+cosx)4=2+cosx(2+sin2x)(1+cosx)4=2+cosx(3cos2x)(1+cosx)4=2+3cosxcos3x(1+cosx)4A=cosx(1+cosx)+2sin2x(1+cosx)3=cosx+sin2x+1(1+cosx)3 \begin{aligned} &\frac{d^2}{dx^2} \frac{1}{1+cosx} \\ &=\frac{d}{dx} \frac{sin x}{(1+cos x)^2}=\frac{cos x(1+cosx)^2+sinx2(1+cosx)sinx}{(1+cos x)^4}\\ &=A\\ &=\frac{cosx+2cos^2x+cos^3x+2sin^2x+2sin^2xcosx}{(1+cosx)^4}\\ &=\frac{2+cosx(1+cos^2x+2sin^2x)}{(1+cosx)^4}\\ &=\frac{2+cosx(2+sin^2x)}{(1+cosx)^4}\\ &=\frac{2+cosx(3-cos^2x)}{(1+cosx)^4}=\frac{2+3cosx-cos^3x}{(1+cosx)^4}\\ &A=\frac{cosx(1+cosx)+2sin^2x}{(1+cosx)^3}=\frac{cosx+sin^2x+1}{(1+cosx)^3} \end{aligned}


35. d2dx2(x)arctan(x)\frac{d^2}{dx^2}(x)arctan(x)

d2dx2(x)arctan(x)=ddxarctan(x)+x11+x2=11+x2+11+x2x(1+x2)22x=21+x22x2(1+x2)2=2+2x22x2(1+x2)2=2(1+x2)2 \begin{aligned} &\frac{d^2}{dx^2}(x)arctan(x) \\ &=\frac{d}{dx}arctan(x)+x\frac{1}{1+x^2}\\ &=\frac{1}{1+x^2}+\frac{1}{1+x^2}-x(1+x^2)^{-2}2x\\ &=\frac{2}{1+x^2}-\frac{2x^2}{(1+x^2)^2}\\ &=\frac{2+2x^2-2x^2}{(1+x^2)^2}=\frac{2}{(1+x^2)^2}\\ \end{aligned}


36. d2dx2x4lnx\frac{d^2}{dx^2}x^4 lnx

d2dx2x4lnx=ddx4x3lnx+x3=4(3x2)lnx+4x3(1/x)+3x2=12x2lnx+7x2 \begin{aligned} &\frac{d^2}{dx^2}x^4 lnx \\ &=\frac{d}{dx}4x^3lnx+x^3\\ &=4(3x^2)lnx+4x^3(1/x)+3x^2\\ &=12x^2lnx+7x^2 \end{aligned}


37. d2dx2ex2\frac{d^2}{dx^2}e^{-x^2}

d2dx2ex2=ddx2xex2=2ex22x(2xex2)=ex2(4x22) \begin{aligned} &\frac{d^2}{dx^2}e^{-x^2} \\ &=\frac{d}{dx} -2xe^{-x^2}=-2e^{-x^2}-2x(-2xe^{-x^2})\\ &=e^{-x^2}(4x^2-2) \end{aligned}


38. d2dx2cos(lnx)\frac{d^2}{dx^2}cos(lnx)

d2dx2cos(lnx)=ddxsin(lnx)1x=cos(lnx)1x1xsin(lnx)(1)1x2=1x2(sin(lnx)cos(lnx)) \begin{aligned} &\frac{d^2}{dx^2} cos(lnx) =\frac{d}{dx}-sin(lnx)\frac{1}{x}\\ &=-cos(lnx)\frac{1}{x}\frac{1}{x}-sin(lnx)(-1)\frac{1}{x^2}\\ &=\frac{1}{x^2}(sin(lnx)-cos(lnx)) \end{aligned}


39. d2dx2ln(cosx)\frac{d^2}{dx^2}ln(cosx)

d2dx2ln(cosx)=ddxsinxcosx=ddxtanx=sec2x \begin{aligned} &\frac{d^2}{dx^2} ln(cosx)=\frac{d}{dx}\frac{-sinx}{cosx}\\ &=\frac{d}{dx}-tanx=-sec^2x \end{aligned}


40. ddxsqrt(1x2)+(x)(arcsinx)\frac{d}{dx} sqrt(1-x^2) + (x)(arcsinx)

ddx1x2+(x)(arcsinx)=2x21x2+arcsinx+x11x2=arcsin(x) \begin{aligned} &\frac{d}{dx} \sqrt{1-x^2} + (x)(arcsinx) \\ &=\frac{-2x}{2\sqrt{1-x^2}}+arcsinx+x\frac{1}{\sqrt{1-x^2}}\\ &=arcsin(x) \end{aligned}


Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

D operator  (0) 2019.11.07
derivative100 [41-50]  (1) 2019.11.06
derivative100 [21-30]  (0) 2019.11.04
derivative100 [11-20]  (0) 2019.10.31
derivative100 [1-10]  (0) 2019.10.30
반응형
derivative_br_21

21. ddx(ysiny=xsinx)\frac{d}{dx}(ysiny = xsinx)

ddx(ysiny=xsinx)=ysiny+ycosyy=sinx+xcosx=y(siny+ycosy)=sinx+xcosxy=sinx+xcosxsiny+ycosy \begin{aligned} &\frac{d}{dx}(ysiny = xsinx)\\ &=y'siny+ycosyy'=sinx+xcosx\\ &=y'(siny+ycosy)=sinx+xcosx\\ &y'=\frac{sinx+xcosx}{siny+ycosy} \end{aligned}


22. ddx(ln(x/y)=exy3)\frac{d}{dx}(ln(x/y) = e^{xy^3})

ddx(ln(x/y)=exy3)=yx(x/y)=exy3(xy3)=yxyxyy2=exy3(y3+x3y2y)y2xyyxy2=y3exy3+3xy2exy3y1xyy=y3exy3+3xy2exy3y1xy3exy3=3xy2exy3y+yy1xy3exy3x=(1+3xy3exy3y)yy=1xy3exy3x(y1+3xy3exy3)y=yxy4exy3x+3x2y3exy3 \begin{aligned} &\frac{d}{dx}(ln(x/y) = e^{xy^3})\\ &=\frac{y}{x}(x/y)'=e^{xy^3}(xy^3)'\\ &=\frac{y}{x}\frac{y-xy'}{y^2}=e^{xy^3}(y^3+x3y^2y')\\ &\frac{y^2-xyy'}{xy^2}=y^3e^{xy^3}+3xy^2e^{xy^3}y'\\ &\frac{1}{x}-\frac{y'}{y}=y^3e^{xy^3}+3xy^2e^{xy^3}y'\\ &\frac{1}{x}-y^3e^{xy^3}=3xy^2e^{xy^3}y'+\frac{y'}{y}\\ &\frac{1-xy^3e^{xy^3}}{x}=(\frac{1+3xy^3e^{xy^3}}{y})y'\\ &y'=\frac{1-xy^3e^{xy^3}}{x}(\frac{y}{1+3xy^3e^{xy^3}})\\ &y'=\frac{y-xy^4e^{xy^3}}{x+3x^2y^3e^{xy^3}}\\ \end{aligned}
Alt.
ddx(ln(x/y)=exy3)ddx(ln(x)ln(y)=exy3)1xyy=exy3(y3+x3y2y)same as upper \begin{aligned} &\frac{d}{dx}(ln(x/y) = e^{xy^3})\\ &\frac{d}{dx}(ln(x)-ln(y) = e^{xy^3})\\ &\frac{1}{x}-\frac{y'}{y}=e^{xy^3}(y^3+x3y^2 y')\\ &\text{same as upper} \end{aligned}


23. ddx(x=sec(y))\frac{d}{dx}(x=sec(y))

ddx(x=sec(y))dx=sec(y)tan(y)dydydx=1sec(y)tan(y)(R.T.angle=y,a=1,h=x,o=x21)dydx=1xx21=(arctan(x)) \begin{aligned} &\frac{d}{dx}(x=sec(y))\\ &dx=sec(y)tan(y)dy\\ &\frac{dy}{dx}=\frac{1}{sec(y)tan(y)}\\ &(R.T. angle=y, a=1,h=x, o=\sqrt{x^2-1})\\ &\frac{dy}{dx}=\frac{1}{x\sqrt{x^2-1}}=(arctan(x))'\\ \end{aligned}


24. ddx((xy)2=sinx+siny)\frac{d}{dx}((x-y)^2 = sinx + siny )

ddx((xy)2=sinx+siny)2(xy)(1y)=cosx+cosyy=2(xy)2(xy)y=cosx+cosyy=2(xy)cosx=cosyy+2(xy)yy(cosy+2(xy))=2(xy)cosxy=2(xy)cosx2(xy)+cosy \begin{aligned} &\frac{d}{dx}((x-y)^2 = sinx + siny )\\ &2(x-y)(1-y')=cosx+cosyy'\\ &=2(x-y)-2(x-y)y'=cosx+cosyy'\\ &=2(x-y)-cosx=cosyy'+2(x-y)y'\\ &y'(cosy+2(x-y))=2(x-y)-cosx\\ &y'=\frac{2(x-y)-cosx}{2(x-y)+cosy}\\ \end{aligned}


25. ddx(xy=yx)\frac{d}{dx}( x^y = y^x)

ddx(xy=yx)ylnx=xlnyylnx+y(1/x)=lny+x(1/y)yy(lnxx(1/y))=lnyy(1/x)y=lnyy(1/x)lnxx(1/y)=xylnyy2xylnxx2 \begin{aligned} &\frac{d}{dx}( x^y = y^x)\\ &y ln x = x ln y \\ &y' lnx + y(1/x) =lny+x(1/y)y' \\ &y'(lnx-x(1/y))=ln y-y(1/x) \\ &y' = \frac{ln y-y(1/x)}{lnx-x(1/y)} \\ &= \frac{xy ln y-y^2}{ xylnx-x^2} \\ \end{aligned}


26. ddx(arctan(x2y)=x+y3)\frac{d}{dx}(arctan(x^2y) = x+y^3)

ddx(arctan(x2y)=x+y3)y=arctanx,x=tany,dx=sec2ydyR.Tangle=y,a=1,o=x,h=sqrt(x2+1)dy/dx=1sec2y=cos2y=11+x2ddx(arctan(x2y)=x+y3)11+x4y2(2xy+x2y)=1+3y2y2xy1+x4y2+x2y1+x4y2=1+3y2y2xy1+x4y21=3y2yx2y1+x4y22xy1x4y21+x4y2=(3y2x21+x4y2)y2xy1x4y21+x4y2=3y2+3x4y4x21+x4y2yy=2xy1x4y23y2+3x4y4x2=x4y22xy+13x4y4+x23y2 \begin{aligned} &\frac{d}{dx}(arctan(x^2y) = x+y^3)\\ &y=arctan x, x=tan y, dx=sec^2ydy\\ &R.T angle=y, a=1, o=x, h=sqrt(x^2+1)\\ &dy/dx = \frac{1}{sec^2y}=cos^2y=\frac{1}{1+x^2} \\ \\ &\frac{d}{dx}(arctan(x^2y) = x+y^3)\\ &\frac{1}{1+x^4y^2}(2xy+x^2y')=1+3y^2y'\\ &\frac{2xy}{1+x^4y^2}+\frac{x^2y'}{1+x^4y^2} =1+3y^2y'\\ &\frac{2xy}{1+x^4y^2}-1= 3y^2y'-\frac{x^2y'}{1+x^4y^2}\\ &\frac{2xy-1-x^4y^2}{1+x^4y^2}= (3y^2-\frac{x^2}{1+x^4y^2})y'\\ &\frac{2xy-1-x^4y^2}{1+x^4y^2}= \frac{3y^2+3x^4y^4-x^2}{1+x^4y^2}y'\\ &y'=\frac{2xy-1-x^4y^2}{3y^2+3x^4y^4-x^2}\\ &=\frac{x^4y^2-2xy+1}{-3x^4y^4+x^2-3y^2}\\ \end{aligned}


27. ddx(x2/(x2y2)=3y)\frac{d}{dx}(x^2/(x^2-y^2) = 3y)

ddx(x2/(x2y2)=3y)ddx(x2=3y(x2y2)=3x2y3y3)2x=6xy+3x2y9y2y2x6xy=y(3x29y2)y=2x6xy3x29y2 \begin{aligned} &\frac{d}{dx}(x^2/(x^2-y^2) = 3y)\\ &\frac{d}{dx}(x^2 = 3y(x^2-y^2)=3x^2y-3y^3)\\ &2x=6xy+3x^2y'-9y^2y'\\ &2x-6xy=y'(3x^2-9y^2)\\ &y'=\frac{2x-6xy}{3x^2-9y^2} \end{aligned}


28. ddx(ex/y=x+y2)\frac{d}{dx}(e^{x/y} = x + y^2)

ddx(ex/y=x+y2)ddx(xy=ln(x+y2))yxyy2=1x+y2(1+2yy)1y1x+y2=xyy2+2yyx+y2y(x+y2)y2=x(x+y2)y+2y3yy=y3y2+xyx2+xy2+2y3=y(x+y2)y2x(x+y2)+2y3=yex/yy2xex/y+2y3 \begin{aligned} &\frac{d}{dx}(e^{x/y} = x + y^2)\\ &\frac{d}{dx}(\frac{x}{y} = ln(x + y^2))\\ &\frac{y-xy'}{y^2} =\frac{1}{x + y^2}(1+2yy')\\ &\frac{1}{y} - \frac{1}{x + y^2}=\frac{xy'}{y^2}+\frac{2yy'}{x + y^2}\\ &y(x+y^2) - y^2=x(x+y^2)y'+2y^3y'\\ &y'=\frac{y^3-y^2+xy}{x^2+xy^2+2y^3}=\frac{y(x+y^2)-y^2}{x(x+y^2)+2y^3}\\ &=\frac{ye^{x/y}-y^2}{xe^{x/y}+2y^3} \end{aligned}


29. ddx((x2+y21)3=y)\frac{d}{dx}((x^2 + y^2 – 1)^3 = y)

ddx((x2+y21)3=y)3(x2+y21)2(2x+2yy)=y3(x2+y21)2(2x)+3(x2+y21)2(2yy)=y6x(x2+y21)2+6y(x2+y21)2y=yy=6x(x2+y21)216y(x2+y21)2 \begin{aligned} &\frac{d}{dx}((x^2 + y^2 – 1)^3 = y)\\ &3(x^2+y^2-1)^2(2x+2yy')=y'\\ &3(x^2+y^2-1)^2(2x)+3(x^2+y^2-1)^2(2yy')=y'\\ &6x(x^2+y^2-1)^2+6y(x^2+y^2-1)^2y'=y'\\ &y'=\frac{6x(x^2+y^2-1)^2}{1-6y(x^2+y^2-1)^2}\\ \end{aligned}


30. d2ydx2(9x2+y2=9)\frac{d^2y}{dx^2} (9x^2 + y^2 = 9)

d2ydx2(9x2+y2=9)ddx(ddx(9x2+y2=9))ddx(9x2+y2=9)18x+2yy=0y=9xyy=9yxyy2=9yx(9xy)y2=9y+9x2/yy2=9y81x2y3=9y2+9x2y3=81y3 \begin{aligned} &\frac{d^2y}{dx^2} (9x^2 + y^2 = 9)\\ &\frac{d}{dx}(\frac{d}{dx} (9x^2 + y^2 = 9) )\\ &\frac{d}{dx} (9x^2 + y^2 = 9) \\ &18x+2yy'=0\\ &y'=-\frac{9x}{y} \\ &y'' = -9\frac{y-xy'}{y^2}=-9\frac{y-x(-9\frac{x}{y})}{y^2}\\ &=-9\frac{y+9x^2/y}{y^2}=-\frac{9}{y}-81\frac{x^2}{y^3}\\ &=-9\frac{y^2+9x^2}{y^3}=-\frac{81}{y^3} \end{aligned}


Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivative100 [41-50]  (1) 2019.11.06
derivative100 [31-40]  (0) 2019.11.05
derivative100 [11-20]  (0) 2019.10.31
derivative100 [1-10]  (0) 2019.10.30
Integral100 [91-100]  (1) 2019.10.27
반응형
derivative_br_11

11. ddxex+ex\frac{d}{dx} \sqrt{e^x}+e^{\sqrt{x}}

ddxex+ex=(ex2)+(ex12)=ex2(12)+ex(12x)=12ex+ex2x \begin{aligned} &\frac{d}{dx} \sqrt{e^x}+e^{\sqrt{x}}\\ &=(e^{\frac{x}{2}})' + (e^{x^{\frac{1}{2}}})'\\ &=e^{\frac{x}{2}}(\frac{1}{2})+e^{\sqrt{x}}(\frac{1}{2\sqrt{x}})\\ &=\frac{1}{2}\sqrt{e^x}+\frac{e^{\sqrt{x}}}{2\sqrt{x}} \end{aligned}


12. ddxsec3(2x)\frac{d}{dx} sec^3(2x)

ddxsec3(2x)=3sec2(2x)(sec(2x)tan(2x))2=6sec3(2x)tan(2x) \begin{aligned} &\frac{d}{dx} sec^3(2x)\\ &=3sec^2(2x)(sec(2x)tan(2x))2\\ &=6sec^3(2x)tan(2x) \end{aligned}


13. ddx12(secx)(tanx)+12ln(secx+tanx)\frac{d}{dx} \frac{1}{2} (secx)(tanx) + \frac{1}{2} ln(secx + tanx)

ddx12(secx)(tanx)+12ln(secx+tanx)=12(secxtanxtanx+secxsec2x)+12(secx+tanx)(secxtanx+sec2x)=12secx(tan2x+sec2x)+secx(tanx+secx)2(secx+tanx)=12secx(1+tan2x+sec2x)=12secx2sec2x=sec3x \begin{aligned} &\frac{d}{dx} \frac{1}{2} (secx)(tanx) + \frac{1}{2} ln(secx + tanx)\\ &=\frac{1}{2}(secxtanxtanx+secxsec^2x)+\frac{1}{2(secx+tanx)}(secxtanx+sec^2x)\\ &=\frac{1}{2}sec x(tan^2x+sec^2x)+\frac{secx(tanx+secx)}{2(secx+tanx)}\\ &=\frac{1}{2}secx(1+tan^2x+sec^2x)=\frac{1}{2}secx 2sec^2x\\ &=sec^3x \end{aligned}


14. ddx(xex)/(1+ex)\frac{d}{dx} (xe^x)/(1+e^x)

ddxxex1+ex((xex)=ex+xex)=(xex)(1+ex)(xex)(1+ex)(1+ex)2=(ex+xex)(1+ex)(xex)(ex)(1+ex)2=ex(1+x)(1+ex)xe2x(1+ex)2=ex((1+xex+ex+x)xex)(1+ex)2=ex(1+ex+x)(1+ex)2 \begin{aligned} &\frac{d}{dx} \frac{xe^x}{1+e^x}\\ &((xe^x)' = e^x+xe^x)\\ &=\frac{(xe^x)'(1+e^x) - (xe^x)(1+e^x)'}{(1+e^x)^2}\\ &=\frac{(e^x+xe^x)(1+e^x) - (xe^x)(e^x)}{(1+e^x)^2}\\ &=\frac{e^x(1+x)(1+e^x)-xe^{2x}}{(1+e^x)^2}\\ &=\frac{e^x((1+xe^x+e^x+x)-xe^{x})}{(1+e^x)^2}\\ &=\frac{e^x(1+e^x+x)}{(1+e^x)^2}\\ \end{aligned}


15. ddx(e4x)(cos(x/2))\frac{d}{dx} (e^{4x})(cos(x/2))

ddx(e4x)(cos(x2))=(e4x)(cos(x2))+(e4x)(cos(x2))=(e4x4)cos(x2)+e4x(sin(x2)12)=4e4xcos(x2)12e4xsin(x2) \begin{aligned} &\frac{d}{dx} (e^{4x})(cos(\frac{x}{2}))\\ &=(e^{4x})'(cos(\frac{x}{2}))+(e^{4x})(cos(\frac{x}{2}))'\\ &=(e^{4x}4)cos(\frac{x}{2})+e^{4x}(-sin(\frac{x}{2})\frac{1}{2})\\ &=4e^{4x}cos(\frac{x}{2})-\frac{1}{2}e^{4x}sin(\frac{x}{2}) \end{aligned}


16. ddx1x324\frac{d}{dx} \frac{1}{\sqrt[4]{x^3 - 2}}

ddx1x324=ddx(x32)14=14(x32)54(3x2)=3x24(x32)x324=3x24(x32)54 \begin{aligned} &\frac{d}{dx} \frac{1}{\sqrt[4]{x^3 - 2}}=\frac{d}{dx} (x^3 - 2)^{-\frac{1}{4}}\\ &=-\frac{1}{4} (x^3 - 2)^{-\frac{5}{4}}(3x^2)\\ &=-\frac{3x^2}{4(x^3-2)\sqrt[4]{x^3 - 2}}\\ &=-\frac{3x^2}{4\sqrt[4]{(x^3 - 2)^5}}\\ \end{aligned}


17. ddxarctan(sqrt(x21))\frac{d}{dx} arctan(sqrt(x^2-1))

ddxtan1(x21)(y=arctan(x),tany=x,sec2ydy=dx)(R.Tangle=y,a=1,o=x,h=1+x2)(dy/dx=1sec2y=cos2y=11+x2)=cos2(tan1(x21))12x212x=cos2(tan1(x21))xx21=11+x21xx21=1xx21 \begin{aligned} &\frac{d}{dx} tan^{-1}(\sqrt{x^2-1})\\ & (y=arctan (x), tan y=x, sec^2ydy=dx)\\ &(R.T angle=y, a=1, o=x, h=\sqrt{1+x^2})\\ & (dy/dx = \frac{1}{sec^2y}=cos^2y=\frac{1}{1+x^2})\\ &=cos^2(tan^{-1}(\sqrt{x^2-1}))\frac{1}{2\sqrt{x^2-1}}2x\\ &=cos^2(tan^{-1}(\sqrt{x^2-1}))\frac{x}{\sqrt{x^2-1}}\\ &=\frac{1}{1+x^2-1}\frac{x}{\sqrt{x^2-1}}\\ &=\frac{1}{x\sqrt{x^2-1}} \end{aligned}


18. ddx(lnx)/x3\frac{d}{dx} (lnx)/x^3

ddxlnxx3=1xx3lnx(3x2)x6=x23x2lnxx6=13lnxx4 \begin{aligned} &\frac{d}{dx} \frac{lnx}{x^3}=\frac{\frac{1}{x}x^3-lnx(3x^2)}{x^6}\\ &=\frac{x^2-3x^2lnx}{x^6}=\frac{1-3lnx}{x^4} \end{aligned}


19. ddxxx\frac{d}{dx} x^x

ddxxx(y=xx,logxy=x,lnylnx=x)(lny=xlnx,1ydy=(lnx+1)dx)dydx=(1+lnx)y=(1+lnx)xx \begin{aligned} &\frac{d}{dx} x^x\\ &(y=x^x, log_xy=x, \frac{ln y}{ln x}=x)\\ &(lny = xlnx, \frac{1}{y}dy=(lnx+1)dx)\\ &\frac{dy}{dx}=(1+lnx)y=(1+lnx)x^x \end{aligned}
Alt.
ddxxx,(x=elnx)=ddx(elnx)x=ddx(exlnx)=exlnx(lnx+1)=xx(lnx+1) \frac{d}{dx} x^x, (x=e^{lnx})\\ =\frac{d}{dx} (e^{lnx})^x=\frac{d}{dx} (e^{xlnx})\\ =e^{xlnx}(lnx+1)\\ =x^x(lnx+1)


20. ddx(x3+y3=6xy)\frac{d}{dx}(x^3+y^3=6xy)

ddx(x3+y3=6xy)3x2dx+3y2dy=6ydx+6xdy(3x26y)dx=(6x3y2)dydydx=3x26y6x3y2=x22y2xy2 \begin{aligned} &\frac{d}{dx}(x^3+y^3=6xy) \\ &3x^2dx+3y^2dy=6ydx+6xdy\\ &(3x^2-6y)dx=(6x-3y^2)dy\\ &\frac{dy}{dx}=\frac{3x^2-6y}{6x-3y^2}\\ &=\frac{x^2-2y}{2x-y^2} \end{aligned}
Alt.
x3+y3=6xy:(Dx)3x2+3y2y=6y+6xy(3x26y)=(6x3y2)yy=3x26y6x3y2=x22y2xy2 \begin{aligned} &x^3+y^3=6xy :(Dx)\\ &3x^2+3y^2y'=6y+6xy'\\ &(3x^2-6y)=(6x-3y^2)y'\\ &y'=\frac{3x^2-6y}{6x-3y^2}\\ &=\frac{x^2-2y}{2x-y^2} \end{aligned}


Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivative100 [31-40]  (0) 2019.11.05
derivative100 [21-30]  (0) 2019.11.04
derivative100 [1-10]  (0) 2019.10.30
Integral100 [91-100]  (1) 2019.10.27
Integral100 [90]  (2) 2019.10.27
반응형
derivative_br_01

1. ddxax2+bx+c\frac{d}{dx}ax^2+bx+c

ddxax2+bx+c=2ax+b \begin{aligned} &\frac{d}{dx} ax^2+bx+c=2ax+b\\ \end{aligned}

2. ddxsin(x)1+cos(x)\frac{d}{dx}\frac{sin(x)}{1+cos(x)}

ddxsin(x)1+cos(x)=(sinx)(1+cosx)sin(x)(1+cosx)(1+cosx)2=cosx+cos2x+sin2(x)(1+cosx)2==11+cos(x) \begin{aligned} &\frac{d}{dx} \frac{sin(x)}{1+cos(x)}= \frac{(sinx)'(1+cosx)-sin(x)(1+cosx)'}{(1+cosx)^2} \\ &=\frac{cosx+cos^2x+sin^2(x)}{(1+cosx)^2}==\frac{1}{1+cos(x)} \end{aligned}

3. ddx(1+cosx)/sinx\frac{d}{dx} (1+cosx)/sinx

ddx(1+cosx)sinx=(1+cosx)sinx(1+cosx)(sinx)sin2x=sin2xcosxcos2xsin2x=1+cosx1cos2(x)=1+cosxsin2x=11cos(x) \begin{aligned} &\frac{d}{dx} \frac{(1+cosx)}{sinx} = \frac{(1+cosx)'sinx-(1+cosx)(sinx)'}{sin^2x} \\ &=\frac{-sin^2x-cosx-cos^2x}{sin^2x}=-\frac{1+cosx}{1-cos^2(x)}\\ &=-\frac{1+cos x }{sin^2x}=-\frac{1}{1-cos(x)} \end{aligned}
Alt.
ddx(1+cosx)sinx=(1sinx)+(cosxsinx)=(cscx)+(cotx)=cscxcotxcsc2x=cscx(cotx+cscx) \begin{aligned} &\frac{d}{dx} \frac{(1+cosx)}{sinx} = (\frac{1}{sinx})'+(\frac{cosx}{sinx})' \\ &=(csc x)'+(cot x)' = -csc x cot x-csc^2x\\ &=-cscx(cot x+cscx) \end{aligned}

cscx(cotx+cscx)=1sinx(cosx+1sinx)=1+cosxsin2x -cscx(cot x+cscx) = -\frac{1}{sinx}(\frac{cosx+1}{sin x})\\ =-\frac{1+cosx}{sin^2x}

4. ddxsqrt(3x+1)\frac{d}{dx}sqrt(3x+1)

ddx3x+1=123x+13=323x+1 \begin{aligned} &\frac{d}{dx} \sqrt{3x+1}= \frac{1}{2\sqrt{3x+1}}3=\frac{3}{2\sqrt{3x+1}} \end{aligned}

5. ddxsin3x+sin(x3)\frac{d}{dx} \sin^3 {x}+sin(x^3)

ddxsin3x+sin(x3)=3sin2xcosx+cos(x3)(3x2)=3sin2xcosx+3x2cos(x3) \begin{aligned} &\frac{d}{dx} \sin^3 {x}+sin(x^3)= 3sin^2xcosx+cos(x^3)(3x^2)\\ &=3sin^2xcosx+3x^2cos(x^3) \end{aligned}

6. ddx1/x4\frac{d}{dx} 1/x^4

ddx1x4=(x4)=4x5 \begin{aligned} &\frac{d}{dx} \frac{1}{x^4} = (x^{-4})'=-\frac{4}{x^5}\\ \end{aligned}

7. ddx(1+cotx)3\frac{d}{dx}(1+cotx)^3

ddx(1+cotx)3=3(1+cotx)2(csc2x)=3csc2x(1+cotx)2 \begin{aligned} &\frac{d}{dx} (1+cotx)^3 = 3(1+cotx)^2(-csc^2x)\\ &=--3csc^2x(1+cotx)^2 \end{aligned}

8. ddxx2(2x3+1)10\frac{d}{dx} x^2(2x^3+1)^{10}

ddxx2(2x3+1)10=(x2)(2x3+1)10+(x2)((2x3+1)10)=2x(2x3+1)10+x2(10(2x3+1)9(6x2))=2x(2x3+1)9(2x3+1+30x3)=2x(2x3+1)9(32x3+1) \begin{aligned} &\frac{d}{dx} x^2(2x^3+1)^{10}=(x^2)'(2x^3+1)^{10}+(x^2)((2x^3+1)^{10})'\\ &=2x(2x^3+1)^{10}+x^2(10(2x^3+1)^9(6x^2))\\ &=2x(2x^3+1)^{9}( 2x^3+1+ 30x^3 )\\ &=2x(2x^3+1)^{9}(32x^3+1) \end{aligned}

9. ddxx/(x2+1)2\frac{d}{dx} x/(x^2+1)^2

ddxx(x2+1)2=(x2+1)2x2(x2+1)2x(x2+1)4=(x2+1)(x2+14x2)(x2+1)4=(x2+1)(3x2+1)(x2+1)4=(3x2+1)(x2+1)3 \begin{aligned} &\frac{d}{dx} \frac{x}{(x^2+1)^2}=\frac{(x^2+1)^2-x2(x^2+1)2x}{(x^2+1)^4}\\ &=\frac{(x^2+1)(x^2+1-4x^2)}{(x^2+1)^4} =\frac{(x^2+1)(-3x^2+1)}{(x^2+1)^4}\\ &=\frac{(-3x^2+1)}{(x^2+1)^3} \end{aligned}

10. ddx20/(1+5e2x)\frac{d}{dx} 20/(1+5e^{-2x})

ddx20(1+5e2x)=20(5e2x)(2)(1+5e2x)2=200e2x(1+5e2x)2 \begin{aligned} &\frac{d}{dx} \frac{20}{(1+5e^{-2x})}=\frac{-20(5e^{-2x})(-2)}{(1+5e^{-2x})^2}\\ &=\frac{200e^{-2x}}{(1+5e^{-2x})^2} \end{aligned}


Author: crazyj7@gmail.com

'Math' 카테고리의 다른 글

derivative100 [21-30]  (0) 2019.11.04
derivative100 [11-20]  (0) 2019.10.31
Integral100 [91-100]  (1) 2019.10.27
Integral100 [90]  (2) 2019.10.27
Integral100 [81-89]  (1) 2019.10.26
반응형

크롬 브라우저 현재 최신버전으로 업데이트하지 마세요.
한글 입력 버그 있음.
버전 78.0.3904.70(공식 빌드) (64비트)
크롬에 설정에서 현재 버전 확인을 하게 되면 자동(!)으로 강제업데이트됩니다.

문제는 이렇게 업데이트된 후에,
검색시에 한글누르고 스페이스 누르면 한글이 삭제되는 버그가 있고,
브라우저내에 채팅창같은곳에 스페이스를 누르면 스페이스가 안먹히고, 두 번 눌러야
스페이스 한 개가 들어갑니다....

나만 그런줄 알았는데 방금 업데이트 한 것을 보니 같은 증상이 나타났음.
패치 나올때 까지 기다리세요 ㅜ.ㅜ

이미 업데이트가 되어버렸는데, 이전으로 돌리려면????

 

크롬 옛날 버전으로 복구 방법. 패치가 나오기 전까지 옛날 버전을 사용하려면...
먼저 자동업데이트를 중지한다. 아래 경로에서 3번을 수행(서비스 중지)
https://www.webnots.com/7-ways-to-disable-automatic-chrome-update-in-windows-and-mac

간략히 요약하면 service.msc 실행해서 Google 업데이트 서비스로 나온것들 사용안함으로 중지하는 겁니다.

 

7 Ways to Disable Automatic Chrome Update in Windows and Mac » WebNots

Learn how to disable automatic Chrome update in Windows and Mac by renaming update folder, blocking update URL, from service manager, registry editor, system configuration and modifying plist file.

www.webnots.com

 

이제 크롬을 삭제(프로그램 추가/제거에서 크롬 삭제)하고 아래 경로에서 재설치. (바이러스 검사해본 결과 이상 없어서 저도 이렇게 복구했습니다.)  설치 후 한 번 더 위와 같이 구글 업데이트 서비스 사용 안함으로 해주세요. (크롬을 설치하니 자동으로 서비스 시작으로 되는 것 같더군요.)

https://www.slimjet.com/chrome/download-chrome.php?file=files%2F76.0.3809.100%2FChromeStandaloneSetup64.exe

'Develop > Windows' 카테고리의 다른 글

윈도우 리스닝포트 찾아 강제종료  (0) 2021.02.24
자모병합 / 한타영타 변환기  (2) 2020.11.10
커맨드(cmd)창 관리자권한 실행  (1) 2019.10.23
Windows10 IP Change command line  (0) 2019.10.23
DOS Batch Script  (0) 2019.10.06
반응형
crawl2_webdriver

Crawling 2 WebDriver

브라우저로 볼때는 분명 데이터가 있는데, 크롤링으로 HTML을 가져와서 보면 없는 경우가 있다.
이것은 브라우저에는 JS를 구동기능이 포함되어 HTML 문서가 동적으로 변화하기 때문에 단순하게 네트웍으로 HTML 문서를 받은 것과 항상 일치한다는 보장이 없기 때문이다
따라서 브라우저처럼 작동하여 변화된 HTML을 만들면 원하는 정보를 얻을 수 있는데 이것이 web driver이다.

구글 크롬 브라우저의 경우 이러한 것을 제공한다.
파이썬에서는 selenium 패키지를 설치하고, 운영체제에는 ChromeDriver를 설치해야 한다.
중요한 것은 현재 크롬브라우저의 버전과 ChromeDriver의 버전이 일치해야 한다!!!
버전이 다르다면 작동하지 않을 것이다.

https://sites.google.com/a/chromium.org/chromedriver/downloads
image

여기에서 자신의 크롬브라우저와 같은 버전의 드라이버를 받는다. 드라이버는 실행파일인데, PATH에 연결된 경로에 실행파일을 복사하면 준비가 다 된것이다.

전에 실패한 실시간 기사 조회

전에 코드에서 html 을 urllib으로 가져오지 말고 web driver를 구동하여 가져와서 파싱해 보자.

from selenium import webdriver
from bs4 import BeautifulSoup

url = 'https://m.media.daum.net/m/media/economic'

options = webdriver.ChromeOptions()
options.add_argument('headless')
browser = webdriver.Chrome(chrome_options=options)
browser.implicitly_wait(3)

browser.get(url)
html = browser.page_source
soup = BeautifulSoup(html, 'html.parser')

subnews = soup.find("div", "section_sub")
realnews = subnews.find("div", "box_realtime")
print(realnews)

browser.quit()


output

<div class="box_g box_realtime">
<h3 class="tit_g">실시간 주요 경제 뉴스</h3>
<ul category="economic" class="list_thumb">
<li>
<a class="link_news #MAIN_NEWS#article @1" href="http://v.media.daum.net/v/20191023201603468?f=m">
<div class="wrap_thumb">
<img alt="삼성물산 '1조6천억 분식회계' 적발..수천억 손실이 순익 둔갑" class="thumb_g" height="68" src="//t1.daumcdn.net/thumb/F240x180ht.u/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fnews%2F201910%2F23%2Fhani%2F20191023201603606uvoz.jpg"/>
</div>
<div class="cont_thumb">
<strong class="tit_thumb">
<span class="txt_g">삼성물산 '1조6천억 분식회계' 적발..수천억 손실이 순익 둔갑</span>
<span class="txt_cp">5분전</span>
</strong>
</div>
</a>
</li>
<li>
<a class="link_news #MAIN_NEWS#article @2" href="http://v.media.daum.net/v/20191023191757086?f=m">
<div class="wrap_thumb">
<img alt='野, 기재부에 "민부론 검토자료 내놔라"..與 "제출 의무 없어"' class="thumb_g" height="68" src="//t1.daumcdn.net/thumb/F240x180ht.u/?fname=https%3A%2F%2Ft1.daumcdn.net%2Fnews%2F201910%2F23%2Fnewsis%2F20191023191757773esif.jpg"/>
</div>
<div class="cont_thumb">
<strong class="tit_thumb">
<span class="txt_g">野, 기재부에 "민부론 검토자료 내놔라"..與 "제출 의무 없어"</span>
<span class="txt_cp">1시간전</span>

전에는 ul 태그 내부가 비었었는데 이제 내용을 가져올 수 있게 되었다.
코드를 정리하여 기사 제목만 가져와보자. 이것도 좀 더 쉽게 하려면 F12키로 개발자모드로 간 다음 추출할 부분에 대해 selector 값을 쉽게 가져올 수 있다.
image
selector를 적당히 수정하면 목록을 쉽게 추출할 수있다.

# news = soup.select('#kakaoContent > div.section_sub > div.box_g.box_realtime > ul > li:nth-child(1) > a > div.cont_thumb > strong > span.txt_g')
news = soup.select('#kakaoContent > div.section_sub > div.box_g.box_realtime > ul > li > a > div.cont_thumb > strong > span.txt_g')
for item in news:
    print(item.text)

output

삼성물산 '1조6천억 분식회계' 적발..수천억 손실이 순익 둔갑
野, 기재부에 "민부론 검토자료 내놔라"..與 "제출 의무 없어"
은행권 "예대율 낮춰라".. 예금 확보 비상
경기 하강기 커지는 재정 역할.."세계 주요국도 확장 정책"
文 시정 연설 두고 '소득주도성장 실패' 공방 벌인 여야(종합)
한진그룹 총수일가, GS홈쇼핑에 지분 팔아 상속세 마련?
홍남기 "법인세 인하 투자증가로 연결 안 돼..신중한 입장"
김영진, 기재위 국감서 '황교안 계엄령 개입' 의혹 언급..野 반발
[단독]에어부산, 괌에서 '기체결함'으로 긴급 회항..13시간 지연 출항
[단독]정부 '직무급 도입-임금체계 개편' 병합 논의

전에 단순한 방식으로 안되는 작업이 이제 원하는 부분을 깔끔하게 추출하였다.

추가로…

아래는 만약 같은 페이지내에서 뭔가를 클릭해야 내용이 더 보여서 그 내용도 추출하기 위한 작업이다.

다음 실시간 검색어 조회

모바일용 웹 주소를 이용하였다. 일반 PC용 주소로 사용하면 데이터가 많아서 느릴 수 있으니 텍스트 위주의 페이지로 접근하는 것이 더 용이하다.
중간에 보면 실시간 검색어 목록이 다 나오도록 확장 버튼을 클릭하는 것을 추가하였다.

from selenium import webdriver
from bs4 import BeautifulSoup

def getTop10Daum():
    url = "https://m.daum.net"

    # browser = webdriver.PhantomJS()
    # browser.implicitly_wait(3)

    options = webdriver.ChromeOptions()
    options.add_argument('headless')
    # browser = webdriver.Chrome(options=options)
    # browser = webdriver.Chrome()
    browser = webdriver.Chrome(chrome_options=options)
    browser.implicitly_wait(3)

    browser.get(url)
    browser.save_screenshot("web1.png")

    # mAside > div.head_issue > div.roll_issue.\#searchrank\#rolling > strong > a

    # browser.find_element_by_xpath('//*[@id="mAside"]/div[1]/div[1]/strong/a').click()
    browser.find_element_by_css_selector('div.roll_issue.\#searchrank\#rolling > strong > a').click()
    browser.save_screenshot("web2.png")

    html = browser.page_source
    soup = BeautifulSoup(html, 'html.parser')
    # print(soup)
    notices = soup.select('div.realtime_layer div.panel')

    resultlist = []

    for n in notices:
        # print ('aria-hidden-', n['aria-hidden'])
        if n['aria-hidden']=='false':
            lis = n.select('li')
            for l in lis:
                result = dict()
                result['rank'] = l.select_one('.num_issue').text
                result['title']= l.select_one('.txt_issue').text
                result['url'] = l.a['href']
                # print(l.select_one('.num_issue').text)
                # print(l.select_one('.txt_issue').text)
                # print('href=',l.a['href'])
                resultlist.append(result)
    browser.quit()

    # print(resultlist)
    return resultlist


if __name__ == '__main__':
    items = getTop10Daum()
    for it in items:
        print(it['rank'], it['title'], it['url'])

output

1 서효림 https://m.search.daum.net/search?w=tot&q=%EC%84%9C%ED%9A%A8%EB%A6%BC&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
2 이다희 https://m.search.daum.net/search?w=tot&q=%EC%9D%B4%EB%8B%A4%ED%9D%AC&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
3 김칠준 변호사 https://m.search.daum.net/search?w=tot&q=%EA%B9%80%EC%B9%A0%EC%A4%80+%EB%B3%80%ED%98%B8%EC%82%AC&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
4 정경심 교수 https://m.search.daum.net/search?w=tot&q=%EC%A0%95%EA%B2%BD%EC%8B%AC+%EA%B5%90%EC%88%98&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
5 송성문 https://m.search.daum.net/search?w=tot&q=%EC%86%A1%EC%84%B1%EB%AC%B8&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
6 김준기 https://m.search.daum.net/search?w=tot&q=%EA%B9%80%EC%A4%80%EA%B8%B0&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
7 오재일 https://m.search.daum.net/search?w=tot&q=%EC%98%A4%EC%9E%AC%EC%9D%BC&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
8 김수미 아들 https://m.search.daum.net/search?w=tot&q=%EA%B9%80%EC%88%98%EB%AF%B8+%EC%95%84%EB%93%A4&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
9 인헌고등학교 https://m.search.daum.net/search?w=tot&q=%EC%9D%B8%ED%97%8C%EA%B3%A0%EB%93%B1%ED%95%99%EA%B5%90&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue
10 이승호 https://m.search.daum.net/search?w=tot&q=%EC%9D%B4%EC%8A%B9%ED%98%B8&DA=ATG&nil_mtopsearch=issuekwd&logical=issue&pin=issue

Author: crazyj7@gmail.com

'Python' 카테고리의 다른 글

진법 표현 및 수 스트링 변환  (0) 2019.11.24
크롤링 BeautifulSoup 요약  (2) 2019.11.06
웹 크롤링 Crawl 1편  (1) 2019.10.24
인코딩에러 cp949  (1) 2019.10.02
ipynb와 py 양방향 전환  (2) 2019.09.30

+ Recent posts