2017-03-22 30 views
1

當我檢查瀏覽器中的元素時,我可以很清楚地看到確切的網頁內容。但是當我嘗試運行下面的腳本時,我看不到一些網頁細節。在我看到的網頁中有「#document」元素,而我在運行腳本時缺少這些元素。如何查看#文檔元素的詳細信息或用腳本提取?無法通過python網頁抓取從HTML文件中提取#document

from bs4 import BeautifulSoup 
import requests 

response = requests.get('http://123.123.123.123/') 
soup = BeautifulSoup(response.content, 'html.parser') 
print soup.prettify() 

enter image description here

+0

後,你做了什麼片段和HTML代碼的片段,使我們可以進一步幫助你。 – Zroq

+0

http://stackoverflow.com/questions/21474605/what-does-document-mean。實際上,我無法通過腳本查看#document下的內容。 – Bhotu

回答

1

你需要讓其他請求得到frame頁面內容,以及:

from urlparse import urljoin 

from bs4 import BeautifulSoup 
import requests 

BASE_URL = 'http://123.123.123.123/' 

with requests.Session() as session: 
    response = session.get(BASE_URL) 
    soup = BeautifulSoup(response.content, 'html.parser') 

    for frame in soup.select("frameset frame"): 
     frame_url = urljoin(BASE_URL, frame["src"]) 

     response = session.get(frame_url) 
     frame_soup = BeautifulSoup(response.content, 'html.parser') 
     print(frame_soup.prettify())