【爬虫】爬取当当网的图书信息
生活随笔
收集整理的這篇文章主要介紹了
【爬虫】爬取当当网的图书信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 一、設計思路
- 1、根據關鍵字查詢
- 2、獲取總頁數
- 3、解析頁面中的數據
- 4、數據存儲
- 二、運行結果
- 三、項目源代碼
一、設計思路
首先,獲取頁面的總數,for循環從1到頁碼最大值,每次爬取一頁,將需要的信息從頁面中提取出來,最后將爬到的信息存入數據庫
1、根據關鍵字查詢
通過參數傳入關鍵字,然后再進行URL拼接即可
2、獲取總頁數
private int getTotalPageNumber() {int n = 1;try {Document document = Jsoup.parse(new URL(this.url), 3000);Element ul = document.getElementsByAttributeValue("name", "Fy").get(0);Elements li_list = ul.getElementsByTag("li");String totalPageNumber = li_list.get(li_list.size() - 3).getElementsByTag("a").eq(0).text();n = Integer.parseInt(totalPageNumber);} catch (IOException e) {e.printStackTrace();}return n;}3、解析頁面中的數據
private void parseData(String finalURL) throws IOException {Document document = Jsoup.parse(new URL(finalURL), 3000);Element element = document.getElementById("component_59");Elements elements = element.getElementsByTag("li");List<Book> books = new ArrayList<>();for (Element e : elements) {String bookName = e.getElementsByTag("a").eq(0).attr("title").trim();Double price = Data.string2Double(e.getElementsByAttributeValue("class", "search_now_price").eq(0).text());String bookAuthor = Data.array2String(e.getElementsByAttributeValue("name", "itemlist-author").eachText());Book book = new Book();book.setName(bookName);book.setPrice(price);book.setAuthor(bookAuthor);System.out.println(book);books.add(book);}saveData(books);}4、數據存儲
數據庫選用的是MySQL,常規的JDBC操作即可
二、運行結果
三、項目源代碼
— 源代碼 —
總結
以上是生活随笔為你收集整理的【爬虫】爬取当当网的图书信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VINS_Fusion学习01——官方教
- 下一篇: 台达PLC与台达DTE8路温控程序,威纶