通過上一篇隨筆的處理,我們已經拿到了書的書名和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 書籍
文章來源: