2017-02-05 1 views
0

포럼 페이지에서 원래 게시물의 사용자 이름 만 추출하고 싶습니다. 그걸하는 법을 알아낼 수없는 것 같아. 누군가 날 도와 줄 수 있니? 원본 게시물과 답장 모두에서 추출한 사용자 이름 코드입니다.페이지에서 첫 번째 게시물 만 추출하려고 시도합니다.

라인의 마지막 몇
import bs4 as bs 
import urllib.request 
import pandas as pd 
import urllib.parse 
import re 


#source = urllib.request.urlopen('https://messageboards.webmd.com/').read() 
source = urllib.request.urlopen('https://messageboards.webmd.com').read() 
soup = bs.BeautifulSoup(source,'lxml') 


df = pd.DataFrame(columns = ['link'],data=[url.a.get('href') for url in soup.find_all('div',class_="link")]) 
lists =[] 
page_links = [] 
for i in range(0,1): 
    link = (df.link.iloc[i]) 
    req = urllib.request.Request(link) 
    resp = urllib.request.urlopen(req) 
    respData = resp.read() 
    temp1=re.findall(r'Filter by</span>(.*?)data-pagedcontenturl',str(respData)) 
    temp1=re.findall(r'data-totalitems=(.*?)data-pagekey',str(temp1))[0] 
    pageunm=round(int(re.sub("[^0-9]","",temp1))/10) 
    lists.append(pageunm) 


    for number in range(1, pageunm+1): 
     url_pages = link + '?pi157388622=' + str(number) 
     page_links.append(url_pages) 

lists2=[] 
df1= pd.DataFrame (columns=['page'],data=page_links) 
for j in range (0,9): 
    page = (df1.page.iloc[j]) 
    url = urllib.request.urlopen(page).read() 
    soup1 = bs.BeautifulSoup(url,'lxml') 
    for body_links in soup1.find_all('div',class_="thread-detail"): 
     body= body_links.a.get('href') 
     lists2.append(body) 

usernames=[] 

df2= pd.DataFrame(columns =['post'], data= lists2) 
for y in range(0,26): 
    post=(df2.post.iloc[y]) 
    url_post = urllib.request.urlopen(post).read() 
    soup2= bs.BeautifulSoup(url_post,'lxml') 
    for username in soup2.find_all('div', class_="user-name"): 
     usernames.append([username.get_text().strip()]) 

답변

0

, 대신 모든 사용자 이름에 걸쳐 반복 만이

username = soup2.find_all('div', class_="user-name")[0].get_text().strip() 
+0

같은 첫 번째는 당신의 도움을 주셔서 대단히 감사합니다 얻을! 잠시 나를 괴롭혔다. – Data1234

관련 문제