2017-07-31 43 views
1

我正在嘗試編寫一個腳本,其中包含某些參數的URL,從生成的網頁讀取新網址列表,並在本地下載它們。我對編程非常陌生,從未使用Python 3,所以我有點迷路。使用參數並讀取結果的腳本

下面是示例代碼來進一步說明:

param1 = 
param2 = 
param3 = 

requestURL = "http://examplewebpage.com/live2/?target=param1&query=param2&other=param3" 

html_content = urllib2.urlopen(requestURL).read() 

#I don't know where to go from here 
#Something that can find when a URL appears on the page and append it to a list 
#Then download everything from that list 

#this can download something from a link: 
#file = urllib.URLopener() 
#file.retrieve(url, newfilelocation) 

從請求URL的輸出是一個很長的頁面,它可以是XML或JSON,有很多的信息不一定需要,所以一些需要搜索形式才能找到需要從以後下載的URL。在頁面上找到的URL直接導致需要的文件(它們以.jpg,.cat等結尾)。

如果您需要任何其他信息,請讓我知道!如果這令人困惑,我很抱歉。

此外,理想情況下,我將下載的文件全部轉到爲它們創建的新文件夾(子目錄)中,並使用文件名作爲當前日期和時間,但我想我可以自己弄清這部分。

+0

您是否正在嘗試解析HTML頁面以查看其他HTML頁面的所有鏈接,並下載其他頁面? –

+0

對不起,應該已經說明了這一點,但鏈接直接指向需要下載的文件。 (它們以.jpg,.cat等結尾)。現在編輯問題。 – moon17

回答

0

看起來您正嘗試構建類似於網絡爬蟲的東西,除非您想渲染內容。你應該探索scrapy的源代碼,這將有助於理解其他人如何編寫類似的邏輯。我建議使用requests庫而不是urllib,因爲它更容易。 python庫內置了htmlJsonXML解析器。

如果頁面類型未知,您應該檢查內容類型標題以瞭解嘗試下載哪種內容。可以有其他策略,scrapy應該給你更多的想法。

希望這會有所幫助。

+0

那麼等待你的意思是使用scrapy?或者就像靈感一樣?由於缺乏編碼經驗,所以很難理解其中的一些。 – moon17

+0

我知道你是python的新手,但是,如果你想構建一些東西,你可以從人們在同一領域完成的事情中獲得靈感。 RTFS(閱讀友好源代碼)@ moon17是最好的方法之一..如果Scrapy看起來很複雜,還有其他像Spider https://github.com/buckyroberts/Spider – Addy

0

我建議檢查BeautifulSoup解析返回的頁面。 有了它,您可以遍歷鏈接並提取相當簡單的鏈接地址,並將它們附加到鏈接列表中。

+0

我研究過這個,但不是用於XML的BeautifulSoup和HTML?它也必須在JSON上工作 – moon17

+0

對不起,我不認爲BeautifulSoup會處理JSON。 – Vorboto

相關問題