친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)
소개
모두가 AV를보고 있습니까?
이번에는, 이런 사람을 향해 기사를 작성했습니다.
「자신의 스마트폰 가지고 있지 않다. 친가에 1대의 PC밖에 없기 때문에, AV이력 삭제 귀찮아」
「스크래핑 기억하고 싶지만, 의욕이 없어」
그런 고민을 해결합니다.
그럼 꿈의 세계로 가자.
HTML 얻기
#ライブラリ一覧
import requests #webページを取得するライブラリ
import pandas as pd
from bs4 import BeautifulSoup #取得したHTMLのデータの中から、タグを読み取り、操作できるライブラリ
from IPython.display import HTML
from IPython.display import Image
url = "https://www.dmm.co.jp/digital/videoa/-/ranking/=/term=realtime/" #売れ筋作品ランキング(10分ごとに更新されます)
response = requests.get(url)
response.encoding = response.apparent_encoding #response.apparent_encoding に、正しい文字コードである SHIFT_JISが格納されている(文字化けを防げます)
soup = BeautifulSoup(response.text, "html.parser") #BeautifulSoup(解析対象のHTML/XML, 利用するパーサー(解析器))
#HTMLをインデントできる
print(soup.prettify())
위와 같이 HTML을 얻을 수 있음을 알 수 있습니다.
여기에서 어떤 태그와 어떤 속성을 얻을지에 대한 정책을 세웁니다.
일근줄에서는 가지 않는 부분이 많이 있는 것이, 스크래핑이므로, 시행착오를 반복해 갑시다.
이미지 얻기 (images)
images=[]
for link in soup.find_all("img"): # imgタグを取得しlinkに格納
if link.get("src").endswith(".jpg"): # imgタグ内の.jpgであるsrcタグを取得
images.append(link.get("src")) # imagesリストに格納
다음과 같은 형태가 됩니다.
링크 가져 오기 (AV_links)
AV_links=[]
tags1=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags1):
a=i.find("a")
print(a.get('href'))
AV_links.append("https://www.dmm.co.jp"+a.get('href'))
htps //w w. dm. 이. jp 가 빠져 있기 때문에 선두에 추가해 줍니다.
동영상 url (movie_links)
movie_links=[]
for i in AV_links:
a=i.split("/=/")
b=a[0]+'/ajax-movie/=/'+a[1]
movie_links.append(b)
"/ajax-movie/=/"를 사이에 추가합니다.
작품명, 순위 획득(titles,ranks)
import re
titles=[]
ranks=[]
tags2=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags2):
ranks.append(j)
tmp=i.find("p")
tmp1=tmp.text
a=re.sub("【[^】]+】","",tmp1)
titles.append(a)
배우 이름 얻기 (names)
names_contents=[]
tags1=soup.find_all("div",class_="data")
for i in tags1:
a=i.text
names_contents.append(a)
----라고 표시되고 있는 곳은 여배우명이 쓰지 않고, 복수인으로 출연하고 있었습니다.
names=[]
for i in names_contents:
q=i.split("出演者:")
if q[-1]=="----":
names.append("複数人")
else:
names.append(q[-1])
Pake 사진 (real_images)
real_images=[]
for j,i in enumerate(images):
real_images.append(Image(images[j]))
데이터 프레임 생성
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
결과는! ?
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#ライブラリ一覧
import requests #webページを取得するライブラリ
import pandas as pd
from bs4 import BeautifulSoup #取得したHTMLのデータの中から、タグを読み取り、操作できるライブラリ
from IPython.display import HTML
from IPython.display import Image
url = "https://www.dmm.co.jp/digital/videoa/-/ranking/=/term=realtime/" #売れ筋作品ランキング(10分ごとに更新されます)
response = requests.get(url)
response.encoding = response.apparent_encoding #response.apparent_encoding に、正しい文字コードである SHIFT_JISが格納されている(文字化けを防げます)
soup = BeautifulSoup(response.text, "html.parser") #BeautifulSoup(解析対象のHTML/XML, 利用するパーサー(解析器))
#HTMLをインデントできる
print(soup.prettify())
위와 같이 HTML을 얻을 수 있음을 알 수 있습니다.
여기에서 어떤 태그와 어떤 속성을 얻을지에 대한 정책을 세웁니다.
일근줄에서는 가지 않는 부분이 많이 있는 것이, 스크래핑이므로, 시행착오를 반복해 갑시다.
이미지 얻기 (images)
images=[]
for link in soup.find_all("img"): # imgタグを取得しlinkに格納
if link.get("src").endswith(".jpg"): # imgタグ内の.jpgであるsrcタグを取得
images.append(link.get("src")) # imagesリストに格納
다음과 같은 형태가 됩니다.
링크 가져 오기 (AV_links)
AV_links=[]
tags1=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags1):
a=i.find("a")
print(a.get('href'))
AV_links.append("https://www.dmm.co.jp"+a.get('href'))
htps //w w. dm. 이. jp 가 빠져 있기 때문에 선두에 추가해 줍니다.
동영상 url (movie_links)
movie_links=[]
for i in AV_links:
a=i.split("/=/")
b=a[0]+'/ajax-movie/=/'+a[1]
movie_links.append(b)
"/ajax-movie/=/"를 사이에 추가합니다.
작품명, 순위 획득(titles,ranks)
import re
titles=[]
ranks=[]
tags2=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags2):
ranks.append(j)
tmp=i.find("p")
tmp1=tmp.text
a=re.sub("【[^】]+】","",tmp1)
titles.append(a)
배우 이름 얻기 (names)
names_contents=[]
tags1=soup.find_all("div",class_="data")
for i in tags1:
a=i.text
names_contents.append(a)
----라고 표시되고 있는 곳은 여배우명이 쓰지 않고, 복수인으로 출연하고 있었습니다.
names=[]
for i in names_contents:
q=i.split("出演者:")
if q[-1]=="----":
names.append("複数人")
else:
names.append(q[-1])
Pake 사진 (real_images)
real_images=[]
for j,i in enumerate(images):
real_images.append(Image(images[j]))
데이터 프레임 생성
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
결과는! ?
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
images=[]
for link in soup.find_all("img"): # imgタグを取得しlinkに格納
if link.get("src").endswith(".jpg"): # imgタグ内の.jpgであるsrcタグを取得
images.append(link.get("src")) # imagesリストに格納
AV_links=[]
tags1=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags1):
a=i.find("a")
print(a.get('href'))
AV_links.append("https://www.dmm.co.jp"+a.get('href'))
htps //w w. dm. 이. jp 가 빠져 있기 때문에 선두에 추가해 줍니다.
동영상 url (movie_links)
movie_links=[]
for i in AV_links:
a=i.split("/=/")
b=a[0]+'/ajax-movie/=/'+a[1]
movie_links.append(b)
"/ajax-movie/=/"를 사이에 추가합니다.
작품명, 순위 획득(titles,ranks)
import re
titles=[]
ranks=[]
tags2=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags2):
ranks.append(j)
tmp=i.find("p")
tmp1=tmp.text
a=re.sub("【[^】]+】","",tmp1)
titles.append(a)
배우 이름 얻기 (names)
names_contents=[]
tags1=soup.find_all("div",class_="data")
for i in tags1:
a=i.text
names_contents.append(a)
----라고 표시되고 있는 곳은 여배우명이 쓰지 않고, 복수인으로 출연하고 있었습니다.
names=[]
for i in names_contents:
q=i.split("出演者:")
if q[-1]=="----":
names.append("複数人")
else:
names.append(q[-1])
Pake 사진 (real_images)
real_images=[]
for j,i in enumerate(images):
real_images.append(Image(images[j]))
데이터 프레임 생성
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
결과는! ?
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
movie_links=[]
for i in AV_links:
a=i.split("/=/")
b=a[0]+'/ajax-movie/=/'+a[1]
movie_links.append(b)
import re
titles=[]
ranks=[]
tags2=soup.find_all("td", attrs={"class": "bd-b"})
for j,i in enumerate(tags2):
ranks.append(j)
tmp=i.find("p")
tmp1=tmp.text
a=re.sub("【[^】]+】","",tmp1)
titles.append(a)
배우 이름 얻기 (names)
names_contents=[]
tags1=soup.find_all("div",class_="data")
for i in tags1:
a=i.text
names_contents.append(a)
----라고 표시되고 있는 곳은 여배우명이 쓰지 않고, 복수인으로 출연하고 있었습니다.
names=[]
for i in names_contents:
q=i.split("出演者:")
if q[-1]=="----":
names.append("複数人")
else:
names.append(q[-1])
Pake 사진 (real_images)
real_images=[]
for j,i in enumerate(images):
real_images.append(Image(images[j]))
데이터 프레임 생성
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
결과는! ?
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
names_contents=[]
tags1=soup.find_all("div",class_="data")
for i in tags1:
a=i.text
names_contents.append(a)
names=[]
for i in names_contents:
q=i.split("出演者:")
if q[-1]=="----":
names.append("複数人")
else:
names.append(q[-1])
real_images=[]
for j,i in enumerate(images):
real_images.append(Image(images[j]))
데이터 프레임 생성
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
결과는! ?
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
columns={"順位":ranks,"女優名":names,"タイトル名":titles,"画像url":images,"AVurl":AV_links,"動画":movie_links,"パケ写":real_images}
df=pd.DataFrame(columns)
HTML(df["AVurl"][0])
HTML(df["動画"][0])
상기와 같이 이력을 남기지 않고, 데이터 프레임으로부터 값을 취득하는 것만으로 AV감상을 할 수 있군요!
친가에 PC가 1대밖에 없는 사람은,
① jupyter의 환경을 정돈한다
②python 기억
이 2점을 학습하면, 이력의 지우는 것을 잊지 않기 때문에 안심하고 볼 수 있네요.
Reference
이 문제에 관하여(친가의 PC 이력 붙이지 않고 몰래 AV 봐 보았다 |·`ω・)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomoxxx/items/1c8672c9e6548b6342e0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)