Java 爬虫入门
網絡爬蟲
網絡爬蟲(又稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
簡單的說就是爬取網頁,解析,處理。
需要使用到 Jsoup 工具來做 http 請求:Jsoup 工具下載
嘗試爬取一下?起點中文網?中的小說信息,確定要爬取頁面
??
?
點擊 F12 ,打開瀏覽器調試界面,找到需要解析頁面的元素。
這里我們需要爬取小說的書名,類型,作者,類別,簡介字段。根據 HTML DOM樹,找到對應的元素,并對其進行解析。
代碼
import java.io.IOException;import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements;import com.hist.util.DataUtils;public class SpiderDemo {public static final String URL = "https://www.qidian.com/search?kw=%E5%AE%8C%E7%BE%8E%E4%B8%96%E7%95%8C";public static void main(String[] args) {try {// 進行 http 連接,get 請求方式Document doc = Jsoup.connect(URL).get();// 根據HTML DOM樹原理,查找到對應的元素Elements bookList = doc.select(".book-img-text ul li");for(Element e : bookList) {String[] split = e.select(".author a").text().split(" ");System.out.println("小說名稱:"+e.select("h4 a").text());System.out.println("小說作者:"+split[0]);System.out.println("小說類別:"+split[1]);System.out.println("小說簡介:"+e.select(".intro").text());System.out.println("小說總字數:"+DataUtils.spiderSubstring(e.select(".book-right-info .total p").first().text(),3));System.out.println("小說總推薦:"+DataUtils.spiderSubstring(e.select(".book-right-info .total p").last().text(),3));System.out.println("---------------------------");}} catch (IOException e) {e.printStackTrace();}} }運行結果
網絡爬蟲入門很簡單,但是要注意不是所有數據都允許你爬取,還有一定的反爬蟲策略,下篇博客再給大家介紹。
總結
- 上一篇: 主权数字货币给世界银行业敲响警钟
- 下一篇: Java生成csv文件设置文本格式