序文
事前に言わなければならないことは、今日のトウシアオの記事の特別な性質のために、記事のアドレスを直接入手することは不可能であるということです。記事のIDを取得し、アクセスする前にURLにスプライスする必要があります。以下にあまり言いません。コードをアップロードしてください。
サンプルコードは次のとおりです
public class demo2 {public static void main(string [] args){// crawnする必要があるWebページの記事のリストstring url = "http://www.toutiao.com/news_finance/"; //記事の詳細ページのプレフィックスページ(今日の見出しはすべてグループディレクトリにあり、プレフィックスが定義されているため、リクエストで取得されたHTMLページ)文字列url2 = "http://www.toutiao.com/group/"; //このWebサイトへのリンク接続= jsoup.connect(url);ドキュメントコンテンツ= null; try {//コンテンツコンテンツを取得= connection.get(); } catch(ioexception e){e.printstacktrace(); } // string string htmlstr = content.html()に変換します。 //今日の見出しの記事は非常に奇妙であるため、それらはすべてjsを介して変数として定義されているため、dom element string jsonstr = stringutils.substringbetbet(htmlstr、 "var _data ="、 ";")を取得することで値を取得することはできません。 System.out.println(jsonstr);マップparse =(map)jsonobject.parse(jsonstr); jsonarray parsearray =(jsonarray)parse.get( "real_time_news");マップマップ= null; List <Map> Maps = new ArrayList <>(); // jsonArrayを送信し、各jsonオブジェクトを取得してから、マップオブジェクトに変換します(この場合、group_idのみが必要なため、マップを使用する必要はありません)(int i = 0; i <parsearray.size(); i ++){map =(map)parsearray.get(i); maps.add((map)parsearray.get(i)); system.out.println(map.get( "group_id")); } //前に取得したマップコレクションを送信してから、これらの記事の詳細ページのページを個別に(Map Map2:Maps){connection = jsoup.connect(url2+map2.get( "group_id")); try {document document = connection.get(); //記事要素のタイトルを取得title = document.select( "[class = article-title]"); System.out.println(title.html()); //記事のソースと記事要素のリリース時間を取得しますartureinfo = document.select( "[class = articleinfo]");要素src = artureinfo.select( "[class = src]"); System.out.println(src.html());要素時間= articleinfo.select( "[class = time]"); System.out.println(time.html()); //記事を取得しますコンテンツContentele = document.select( "[class = cortion-content]"); System.out.println(contentele.html()); } catch(ioexception e){e.printstacktrace(); }}}}要約します
上記は、この記事のコンテンツ全体です。この記事の内容があなたの研究や仕事に役立つことを願っています。ご質問がある場合は、メッセージを残してコミュニケーションをとることができます。