網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(3): 抓取amazon.com價格

分類:IT技術 時間:2016-10-14

通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。
一、了解需要和分析網站
通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。   通過正則表達式匹配價格代碼:
def get_price_amazon(isbn):
    base_url = "https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords="
    url = base_url + str(isbn)
    page = urlopen(url)
    soup = BeautifulSoup(page, 'lxml')
    page.close()
    price_regexp = re.compile("\$[0-9]+(\.[0-9]{2})?")
    price = soup.find(text=price_regexp)
    return [isbn, price]

 

上一篇隨筆中已經得到了所有書籍的ISBN碼,遍歷所有的ISBN碼傳入get_price_amazon()方法即可獲取所有書籍的價格,運行結果:
二、將兩部分結果數據合並
前兩天剛學過數據處理(利用python進行數據分析 基礎系列隨筆匯總),為了練練手,這裏通過pandas將兩部分數據合並起來:
book_info_data =http://www.cnblogs.com/sirkevin/p/ pd.read_csv('books.csv')
price_data = pd.read_csv('prices.csv')
result = pd.merge(book_info_data, price_data, on='isbn')
result.to_csv('result.csv', index=False, header=True, columns=['isbn', 'title', 'price'])

 

result.csv文件結果:
  完整代碼請移步github:https://github.com/backslash112/book_scraper_python Beautiful Soup基礎知識:網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(1): 基礎知識Beautiful Soup 我們處於大數據時代,對數據處理感興趣的朋友歡迎查看另一個系列隨筆:利用Python進行數據分析 基礎系列隨筆匯總   接下來打算學習Scrapy庫,Scrapy是一個采集工具,它可以幫你大幅降低網頁查找和識別工作,輕松采集一個或多個域名的信息。有興趣的朋友歡迎關註本博客,也歡迎大家留言進行討論。

大數據,大數據分析、BeautifulSoup,Beautiful Soup入門,數據挖掘,數據分析,數據處理,pandas,網絡爬蟲,web scraper,python Excel,python寫入excel數據,python處理csv文件 python操作Excel,excel讀寫 通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。通過上一篇隨筆的處理,我們已經拿到了書的書名和ISBN碼。(網絡爬蟲: 從allitebooks.com抓取書籍信息並從amazon.com抓取價格(2): 抓取allitebooks.com書籍信息及ISBN碼) 接下來將通過ISBN碼去amazon.com獲取每本書對應的價格。 一、了解需要和分析網站 通過分析amazon.com得知,以ISBN碼作為搜索關鍵字可查找到對應的書。 結果頁碼就有這本書的價格,既然價格是以$符號開頭,那就可以通過正則表達式得到價格。


Tags: return 關鍵字 表達式 price 書籍

文章來源:


ads
ads

相關文章
ads

相關文章

ad