1. 程式人生 > >java平臺利用jsoup開發包,抓取優酷視訊播放地址與圖片地址等資訊。

java平臺利用jsoup開發包,抓取優酷視訊播放地址與圖片地址等資訊。

/********************************************************************************************
 * author:[email protected]大鐘                                                                                                                          
 * E-mail:[email protected]                                                                                                             
 * 

http://blog.csdn.net/conowen                                                                                                              
 * 注:本文為原創,僅作為學習交流使用,轉載請標明作者及出處。      

 ********************************************************************************************/

一: 專案目的

         最近專案設計到網聯網視訊採集聚合,寫了一個關於網際網路視訊的資訊爬蟲的小程式,以youku線上視訊網站為例,實現一個java平臺下的應用程式,動態抓取網際網路視訊資訊儲存到本地xml檔案,構建一個多媒體播放源中心。

二:專案第三方庫:

1、jsoup (HTML程式碼解析器)

     jsoup 是一款 Java 的HTML 解析器,可直接解析某個URL地址、HTML文字內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於JQuery的操作方法來取出和操作資料。

jsoup的主要功能如下:

·從一個URL,檔案或字串中解析HTML;

·使用DOM或CSS選擇器來查詢、取出資料;

·可操作HTML元素、屬性、文字;

jsoup是基於MIT協議釋出的,可放心使用於商業專案。

2、jdom (XML構建於解析工具)

通過jdom,可以很容易地構建符合規範的xml檔案,並且,jdom提供對xml檔案的快速解析。

官方地址:http://jdom.org/

三:開發大體過程:

如youku(優酷)線上視訊播放網站,本身就做了網際網路視訊聚合,就是旗下的soku,以下就已soku為例

通過瀏覽器檢視這個頁面的HTML程式碼分析可知

<div class="item">
			<ul class="p pv">
				<li class="p_link"><a href="/detail/show/XMzk3MTk2" target="_blank" title="叛逃" _log_pos="1"  _log_directpos="1"></a></li>
				<li class="p_thumb"><img original="http://g1.ykimg.com/05160000532655E067379F61EC00286C" alt="叛逃"></li>
				<li class="p_status"><span class="status">正片</span><span class="bg"></span></li>
				
				<li class="p_ishd"><span class="ico__SD" title="超清"></span></li>
				<li class="p_title"><a href="/detail/show/XMzk3MTk2" title="叛逃" target="_blank" _log_pos="1"  _log_directpos="2">叛逃</a></li>
				<li class="p_actor"><label>主演:</label><a href='/v?keyword=%E9%99%88%E5%B1%95%E9%B9%8F' title='陳展鵬' target='_blank' _log_pos='1'  _log_directpos='3'>陳展鵬</a> / <a href='/v?keyword=%E5%90%B4%E5%8D%93%E7%BE%B2' title='吳卓羲' target='_blank' _log_pos='1'  _log_directpos='3'>吳卓羲</a> / <a href='/v?keyword=%E9%99%88%E8%8C%B5%E5%AA%BA' title='陳茵媺' target='_blank' _log_pos='1'  _log_directpos='3'>陳茵媺</a> </li>
				<li class="p_desc" >香港作為國際大都會,隨時有可能會受到恐怖襲擊。為了防止境內可能出現的恐怖活動,反恐特勤隊於2009...</li>
				<li class="p_rating"><span class="ranking">9.2</span>分</li>
				<li class="p_panels">
					
					


		<div class='linkpanels site14' style='display:none;'>
			
			<div class="mask">
				<div class="ico__loading_32"></div>
			</div>
			
			<div class="panel_15">
				<ul class="linkpanel">
				<li><a href='http://v.youku.com/v_show/id_XNjg2NTcyODI0.html' target='_blank' _log_pos='1'  _log_directpos='4'>1</a></li>
					<li><a href='http://v.youku.com/v_show/id_XNjg3MDU2NzUy.html' target='_blank' _log_pos='1'  _log_directpos='4'>2</a></li>
					<li><a href='http://v.youku.com/v_show/id_XNjg3NDk4NjQ0.html' target='_blank' _log_pos='1'  _log_directpos='4'>3</a></li>
					<li><a href='http://v.youku.com/v_show/id_XNjg3OTc5MjUy.html' target='_blank' _log_pos='1'  _log_directpos='4'>4</a></li>
					
							<li class="mhandle" title="顯示全部"><span>...</span></li>
				
					<li><a href='http://v.youku.com/v_show/id_XNjk4ODk2MjI4.html' target='_blank' _log_pos='1'  _log_directpos='4'>21</a></li>
					<li><a href='http://v.youku.com/v_show/id_XNjk5Mzc4ODky.html' target='_blank' _log_pos='1'  _log_directpos='4'>22</a></li>
					<li><a href='http://v.youku.com/v_show/id_XNjk5Nzk4NjEy.html' target='_blank' _log_pos='1'  _log_directpos='4'>23</a><em class="ico__newpgm"></em></li>
					<li><a href='http://v.youku.com/v_show/id_XNzAwMjQ2ODEy.html' target='_blank' _log_pos='1'  _log_directpos='4'>24</a><em class="ico__newpgm"></em></li>
					
				
				 
				<li class="catahandle" ><span qwindow_key="99299_14"><em>顯示全部</em></span></li>
				
				
				</ul>
				<div class="clear"></div>
			</div>
			
			<div class="overlay_show" style="display: none; ">
				<ul>
					<li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg2NTcyODI0.html" _log_pos='1'  _log_directpos='4' >1</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg3MDU2NzUy.html" _log_pos='1'  _log_directpos='4' >2</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg3NDk4NjQ0.html" _log_pos='1'  _log_directpos='4' >3</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg3OTc5MjUy.html" _log_pos='1'  _log_directpos='4' >4</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg4Mzk0MjA0.html" _log_pos='1'  _log_directpos='4' >5</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjg5Njg2MTMy.html" _log_pos='1'  _log_directpos='4' >6</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkwMTUxMjg0.html" _log_pos='1'  _log_directpos='4' >7</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkwNjE4ODc2.html" _log_pos='1'  _log_directpos='4' >8</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkxMDYyMDY4.html" _log_pos='1'  _log_directpos='4' >9</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkxNTA1NDc2.html" _log_pos='1'  _log_directpos='4' >10</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkyNzk3ODEy.html" _log_pos='1'  _log_directpos='4' >11</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkzMjQ5MjU2.html" _log_pos='1'  _log_directpos='4' >12</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjkzNzE1ODQ0.html" _log_pos='1'  _log_directpos='4' >13</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk0MTQ1NDE2.html" _log_pos='1'  _log_directpos='4' >14</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk0NTk4NjU2.html" _log_pos='1'  _log_directpos='4' >15</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk1NzkwNDky.html" _log_pos='1'  _log_directpos='4' >16</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk2MjE0ODAw.html" _log_pos='1'  _log_directpos='4' >17</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk2NzA3OTAw.html" _log_pos='1'  _log_directpos='4' >18</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk3MTQ3NDg0.html" _log_pos='1'  _log_directpos='4' >19</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk3NjAyMzU2.html" _log_pos='1'  _log_directpos='4' >20</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk4ODk2MjI4.html" _log_pos='1'  _log_directpos='4' >21</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk5Mzc4ODky.html" _log_pos='1'  _log_directpos='4' >22</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNjk5Nzk4NjEy.html" _log_pos='1'  _log_directpos='4' >23</a></li><li><a target="_blank" href="http://v.youku.com/v_show/id_XNzAwMjQ2ODEy.html" _log_pos='1'  _log_directpos='4' >24</a></li>
		 		</ul>
				<div class="clear"></div>
			</div>
			
		</div> <!-- linkpanels end -->
	
		<div class='linkpanels site1' style='display:;'>
			
			<div class="mask">
				<div class="ico__loading_32"></div>
			</div>
			
			<div class="panel_15">
				<ul class="linkpanel">
				<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/C08DUfUmLQ8.html' target='_blank' _log_pos='1'  _log_directpos='4'>1</a></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/9k94iBLitvc.html' target='_blank' _log_pos='1'  _log_directpos='4'>2</a></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/DtZl97kKHJ8.html' target='_blank' _log_pos='1'  _log_directpos='4'>3</a></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/bOowUNpVpps.html' target='_blank' _log_pos='1'  _log_directpos='4'>4</a></li>
					
							<li class="mhandle" title="顯示全部"><span>...</span></li>
	
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/eIuEWbGBlZo.html' target='_blank' _log_pos='1'  _log_directpos='4'>21</a></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/04MteDKPh0k.html' target='_blank' _log_pos='1'  _log_directpos='4'>22</a></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/j3No8CjvPMU.html' target='_blank' _log_pos='1'  _log_directpos='4'>23</a><em class="ico__newpgm"></em></li>
					<li><a href='http://www.tudou.com/albumplay/h_qzeM93b4o/DZqhSzIue7k.html' target='_blank' _log_pos='1'  _log_directpos='4'>24</a><em class="ico__newpgm"></em></li>
					
				
				 
				<li class="catahandle" ><span qwindow_key="99299_1"><em>顯示全部</em></span></li>
				
				
				</ul>
				<div class="clear"></div>
			</div>
			
			<div class="overlay_show" style="display: none; ">
				<ul>
					<li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/C08DUfUmLQ8.html" _log_pos='1'  _log_directpos='4' >1</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/9k94iBLitvc.html" _log_pos='1'  _log_directpos='4' >2</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/DtZl97kKHJ8.html" _log_pos='1'  _log_directpos='4' >3</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/bOowUNpVpps.html" _log_pos='1'  _log_directpos='4' >4</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/17j0DZpn1ks.html" _log_pos='1'  _log_directpos='4' >5</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/L9BfyEe2Lnc.html" _log_pos='1'  _log_directpos='4' >6</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/wC0wkJ06oig.html" _log_pos='1'  _log_directpos='4' >7</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/t1eKauFslM8.html" _log_pos='1'  _log_directpos='4' >8</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/cpA0-6Eju_M.html" _log_pos='1'  _log_directpos='4' >9</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/kO6GYIebudU.html" _log_pos='1'  _log_directpos='4' >10</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/f9WyMO1cvAU.html" _log_pos='1'  _log_directpos='4' >11</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/ZXJJ718tUMM.html" _log_pos='1'  _log_directpos='4' >12</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/b_3VAZzRLxk.html" _log_pos='1'  _log_directpos='4' >13</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/m_V42BUl10M.html" _log_pos='1'  _log_directpos='4' >14</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/E6WlWOITEn0.html" _log_pos='1'  _log_directpos='4' >15</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/oDss8E8Ca1k.html" _log_pos='1'  _log_directpos='4' >16</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/HYY6zgJgsjY.html" _log_pos='1'  _log_directpos='4' >17</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/qk2asOj0eLE.html" _log_pos='1'  _log_directpos='4' >18</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/SejnSBUxZ0o.html" _log_pos='1'  _log_directpos='4' >19</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/K4FAUFU8_eM.html" _log_pos='1'  _log_directpos='4' >20</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/eIuEWbGBlZo.html" _log_pos='1'  _log_directpos='4' >21</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/04MteDKPh0k.html" _log_pos='1'  _log_directpos='4' >22</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/j3No8CjvPMU.html" _log_pos='1'  _log_directpos='4' >23</a></li><li><a target="_blank" href="http://www.tudou.com/albumplay/h_qzeM93b4o/DZqhSzIue7k.html" _log_pos='1'  _log_directpos='4' >24</a></li>
		 		</ul>
				<div class="clear"></div>
			</div>
			
		</div> <!-- linkpanels end -->
	

<!--playarea end-->

<div class="playarea">
	<div class="pgm-source">
		<div class="source source_one">
			
			<label>播放源:</label>
			
			
				<span name="土豆網" id="site1" sv="-9976.0">
					<a href="http://www.tudou.com/albumplay/h_qzeM93b4o/C08DUfUmLQ8.html"  status="更新至24集" target="_blank" speed="0" stypename="超清" stype="SD" title="土豆網-更新至24集" _log_pos="1"  _log_directpos="5">
						<img src="http://static.soku.com/v1.0.0749/soku/inthesky/img/favicon/tudou.png"  />
					</a>
				</span>
			
				<span name="優酷網" id="site14" sv="-9976.0">
					<a href="http://v.youku.com/v_show/id_XNjg2NTcyODI0.html"  status="更新至24集" target="_blank" speed="0" stypename="超清" stype="SD" title="優酷網-更新至24集" _log_pos="1"  _log_directpos="5">
						<img src="http://static.soku.com/v1.0.0749/soku/inthesky/img/favicon/youku.png"  />
					</a>
				</span>
			
		</div>				
	</div>
</div>

<!--playarea end-->


				</li>
			</ul>
		</div>

就可以獲得此視訊的名稱,封面圖片地址,更新的狀態,各個播放源的地址。

獲取視訊資訊:

1、jsoup解析演示:

獲取一個頁面的內容,可以採用以下方式

Document doc = Jsoup.connect("http://example.com/").get();

得到doc就可以進行解析操作了。

當然,也可以設定一些連線引數,如瀏覽器userAgent,超時時間,頁面記憶體大小等等。

對頁面的解析就如同對xml解析一樣,很簡單。通過tab或者class標籤就可以獲取相應的內容了。

2、jsoup抓取youku優酷視訊資訊

	public void getVideoInfo(String pageUrl) {// 一頁呼叫一次

		try {
			doc = Jsoup.connect(pageUrl).maxBodySize(1024 * 1024 * 10)
					.timeout(6000).get();
			// Added a maximum body response size to Jsoup.Connection, to
			// prevent running out of memory when trying to read extremely
			// large
			// documents. The default is 1MB.
		} catch (IOException e) {
			// TODO Auto-generated catch block
			getVideoInfo(pageUrl);
			System.out.println("connect error");
			e.printStackTrace();
		}
		
		

		divs_info = doc.getElementsByClass("p_link");// 視訊專輯url,如電視劇

		if (divs_info != null) {

			if (divs_info.size() <= 0) {
				divs_info = doc.getElementsByClass("v_link");// 視訊播放url,如資訊

			}

			urls = divs_info.select("a[href]");

			if (null != urls) {
				int i = 0;

				for (Element urlElement : urls) {

					videoTitles.add(urlElement.attr("title"));

					videoUrl.add(urlElement.attr("abs:href"));
					i++;

				}
			}

		}
		divs_thumbs = doc.getElementsByClass("p_thumb");// 獲取專輯圖片
		if (divs_thumbs != null) {

			thumbs = divs_thumbs.select("img[original]");
			if (thumbs.size() <= 0) {
				divs_thumbs = doc.getElementsByClass("v_thumb");
				thumbs = divs_thumbs.select("img[original]");
			}
			if (null != thumbs) {
				int i = 0;
				for (Element thumb : thumbs) {

					videoThumbUrls.add(thumb.attr("abs:original"));

					i++;

				}

			}
		}
		divs_pgm_source = doc.getElementsByClass("pgm-source");// 獲取更新情況
		// divs_pgm_source.select(query)

		if (divs_pgm_source != null) {
			for (Element thumb1 : divs_pgm_source) {
				sourceId = thumb1.select("span");
				sourceUrl = thumb1.select("a");
				List<String> videoSourceStatus = null;
				List<String> videoSourceUrl = null;
				List<String> videoSourceId = null;//儲存獲取的資料,以供構建xml檔案

				if (null != sourceId) {
					videoSourceId = new ArrayList<String>();
					for (Element thumb2 : sourceId) {

						videoSourceId.add(thumb2.attr("id"));

					}
					videoSourceIdList.add(videoSourceId);

				}
				if (null != sourceUrl) {
					videoSourceStatus = new ArrayList<String>();
					for (Element thumb2 : sourceUrl) {

						videoSourceStatus.add(thumb2.attr("status"));

					}
					videoSourceStatusList.add(videoSourceStatus);

				}

				if (null != sourceUrl) {
					videoSourceUrl = new ArrayList<String>();
					for (Element thumb2 : sourceUrl) {

						videoSourceUrl.add(thumb2.attr("href"));

					}
					videoSourceUrlList.add(videoSourceUrl);

				}

			}

		}
		try {
			Thread.sleep(2000);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

四、構建視訊xml資訊檔案:

1、建立xml檔案

xmlHelper.createXml(str, videoTitles, videoUrl, videoThumbUrls,
						videoSourceIdList, videoSourceStatusList,
						videoSourceUrlList, pageNum); // 建立xml
2、建立xml檔案過程

public void createXml(String fileName, List<String> videoTitles,
			List<String> videoUrl, List<String> videoThumbUrls,
			List<List<String>> videoSourceIdList,
			List<List<String>> videoSourceStatusList,
			List<List<String>> videoSourceUrlList, int pageNum) {

		// 建立根節點 
		Element root = new Element("videoInfo");
		// 建立每一頁的節點 
		Element pageElement = new Element("page");
		//設定頁碼
		pageElement.setAttribute("page", "" + pageNum);

		
		Document Doc = new Document(root);

		
		for (int i = 0; i < videoTitles.size(); i++) {

			// 建立節點 videoId
			Element VideoIdElement = new Element("videoId");
			// 給 videoId 節點新增屬性 id;
			VideoIdElement.setAttribute("id", ""
					+ (i + 1 + (pageNum - 1) * videoTitles.size()));

	
			// 填寫視訊資訊的值
			VideoIdElement.addContent(new Element("videoTitle")
					.setText(videoTitles.get(i)));
			VideoIdElement.addContent(new Element("videoUrl").setText(videoUrl
					.get(i)));
			VideoIdElement.addContent(new Element("videoThumbUrls")
					.setText(videoThumbUrls.get(i)));
			for (int j = 0; j < videoSourceIdList.get(i).size(); j++) {
				Element sourceElement = new Element("source");
				sourceElement.setAttribute("id", ""
						+ videoSourceIdList.get(i).get(j));
				sourceElement.setAttribute("status", ""
						+ videoSourceStatusList.get(i).get(j));
				sourceElement.setAttribute("url", ""
						+ videoSourceUrlList.get(i).get(j));
				VideoIdElement.addContent(sourceElement);
			}
			// 新增每一個子視訊到每一頁上面
			pageElement.addContent(VideoIdElement);

		}
		// 新增每一頁的視訊到根節點上面
		root.addContent(pageElement);
		Format format = Format.getCompactFormat();
		format.setEncoding("utf-8"); // setEncoding 設定編碼
		format.setIndent("	");
		XMLOutputter XMLOut = new XMLOutputter(format);

		
		try {
			XMLOut.output(Doc, new FileOutputStream(fileName));
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

注意:利用jdom構建xml時,有一點要注意的就是,不設定的話,jdom構建的xml不會換行,導致xml檔案異常亂,難以看懂。可以採用以下設定即可實現xml檔案的換行操作。
Format format = Format.getCompactFormat();
		format.setEncoding("utf-8"); 
		format.setIndent("	");

解析效果圖每一頁大概所需時間為2~3s。頁面比較大,是網路情況而定。




構建出來的xml檔案如下

<?xml version="1.0" encoding="utf-8"?>
<videoInfo>
	<page page="1">
		<videoId id="1">
			<videoTitle>來自星星的你</videoTitle>
			<videoUrl>http://www.soku.com/detail/show/XMTEyNDE0NA==</videoUrl>
			<videoThumbUrls>http://g3.ykimg.com/0516000052AD289A675839358A07B6AA</videoThumbUrls>
			<source id="site19" status="21集全" url="http://www.iqiyi.com/v_19rrhd5t9s.html" />
			<source id="site17" status="21集全" url="http://www.letv.com/ptv/vplay/2234148.html" />
			<source id="site14" status="更新至17集" url="" />
		</videoId>
		<videoId id="2">
			<videoTitle>食為奴</videoTitle>
			<videoUrl>http://www.soku.com/detail/show/XMTA5MTQ1Mg==</videoUrl>
			<videoThumbUrls>http://g4.ykimg.com/0516000052F4A2C56758390A8D0C4E55</videoThumbUrls>
			<source id="site14" status="更新至22集" url="http://v.youku.com/v_show/id_XNjcxNTA0Mzg0.html" />
			<source id="site1" status="更新至22集" url="http://www.tudou.com/albumplay/mXTEnVluN7k/jeB4vVjU13s.html" />
		</videoId>
		<videoId id="3">
			<videoTitle>屌絲男士</videoTitle>
			<videoUrl>http://www.soku.com/detail/show/XMTA4MzkwNA==</videoUrl>
			<videoThumbUrls>http://g1.ykimg.com/05160000519310F4670C4A1AE002FEB1</videoThumbUrls>
			<source id="site6" status="7集全" url="http://tv.sohu.com/20121010/n354554959.shtml" />
		</videoId>
		<videoId id="4">
			<videoTitle>屌絲男士 第三季</videoTitle>
			<videoUrl>http://www.soku.com/detail/show/XMTE0NzU2OA==</videoUrl>
			<videoThumbUrls>http://g4.ykimg.com/051600005305D18E6758397D8206CC34</videoThumbUrls>
			<source id="site6" status="更新至3集" url="http://tv.sohu.com/20140225/n395573773.shtml" />
		</videoId>



相關推薦

java平臺利用jsoup發包視訊播放地址圖片地址資訊

/********************************************************************************************  * author:[email protected]大鐘        

java爬蟲(使用jsoup設定代理網頁內容)

jsoup 簡介 jsoup 是一款Java 的HTML解析器,可直接解析某個URL地址、HTML文字內容。它提供了一套非常省力的API,可通過DOM,CSS以及類似於jQuery的操作方法來

java 開發用到網路爬蟲汽車之家網站全部資料經歷

經歷了兩個禮拜的折騰,某某知名網站的資料終於到手了。犯罪沒被發現這種心情感覺很爽。 說一下我的犯罪經歷,之前公司總是抓取某某網站資料,可能是被發現了。某某網站改變了策略。通過各種技術終止了我們的行為,導致我們的抓取功能報錯,逐步跟蹤,發現我們之前是在人家的網站,通過Webh

如何申請GitHub學生發包以及利用DigitalOcean的學生優惠(幹一些特殊的事情)

        廣大的計算機相關專業同學以及對某些事情有特殊需求的同志都對GFW的存在感到很無奈,但我們是酷炫的計算機專業學生當然不能隨大流使用xxvpn這樣的工具來訪問一些不存在的網站。當然GitHub學生認證獲得的全家桶價值非常恐怖,對於大佬來說簡直是天降橫財(對我就是順

移動端車牌識別發包可整合的車牌識別軟體

有人會問,車牌識別是如何應用在手機端的呢?北京易泊通過敏捷的市場洞察能力,結合現如今火爆市場的APP應用,推出了基於移動平臺的離線車牌識別SDK。只需將這識別開發包整合在移動端的APP上,即可通過呼叫手機、平板電腦的攝像頭拍攝車牌的圖片,繼而通過OCR識別服務,即可對車牌的顏色、車牌號進行智慧識別。

java使用jsoup中國知網資料思路測試記錄

前段時間測試抓取知網資料,弄了很久都失敗了,然後就不想弄了.... 今天重新整理,記錄下來,成功與否都能做個參考. 測試 cookies 第一次訪問網站的時候返回的一個cookies,裡面有4

gdal for android 發包欄位屬性為中文出現亂碼

GDAL  Android庫,建立shp,如果欄位屬性需要中文,網上的解決方法都是 gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8", "YES"); gdal.SetConfigOption("SHAPE_ENCODING", "U

Selenium ChromeDriver 自動化測試網頁元素java

Selenium也是一個用於Web應用程式測試的工具。Selenium測試直接在瀏覽器中執行,就像真實使用者所做的一樣。Selenium 測試可以在 Windows、Linux 和 Macinto

python利用hook技術破解https使用者名稱登入密碼!

相對於http協議,https是的特點就是他的安全性,http協議的通訊內容用普通的嗅探器可以捕捉到,但是https協議的內容嗅探到的是加密後的內容,對我們的利用價值不是很高,所以一些大的網站----涉及到“大米”的網站,採用的都是http是協議。

Java簡單實現爬蟲技術整個網站所有連結+圖片+檔案(思路+程式碼)

寫這個純屬個人愛好,前兩天想玩爬蟲,但是百度了一大圈也沒發現有好一點的帖子,所以就自己研究了下,親測小點的網站還是能隨隨便便爬完的,由於是單執行緒所以速度嘛~~你懂的 (多執行緒沒學好,後期再慢慢加上多執行緒吧) 先上幾張效果圖 ##需要用到的知識點

Java 螢幕擷取螢幕截圖

import java.awt.Desktop; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java

用python來“煎蛋網”上面的美女圖片尺度很大哦!哈哈

each file like http add 寫入 header 。。 num 廢話不多說,先上代碼: import urllib.request import re #獲得當前頁面的頁數page_name def get_pagenum(url): req

Mac 配置Charles移動設備數據

手機瀏覽器 har 使用 抓取 font 設備 mac tps 入門到精通 有兩篇很詳細的教程可以參考 Charles 從入門到精通 mac環境下使用Charles抓包Https請求 但是在使用iPhone抓取https數據的時候會出現很多問題,總是提示失敗。 需要註意的有

如何利用Python網絡爬蟲微信朋友圈的動態(上)

Python 網絡爬蟲 微信 朋友圈 Python開發 今天小編給大家分享一下如何利用Python網絡爬蟲抓取微信朋友圈的動態信息,實際上如果單獨的去爬取朋友圈的話,難度會非常大,因為微信沒有提供向網易雲音樂這樣的API接口,所以很容易找不到門。不過不要慌,小編在網上找到了第三方工具,它可

如何利用Python網絡爬蟲微信好友數量以及微信好友的男女比例

zha 成功 函數 通訊 好友列表 是否 ID 爬蟲 實現 前幾天給大家分享了利用Python網絡爬蟲抓取微信朋友圈的動態(上)和利用Python網絡爬蟲爬取微信朋友圈動態——附代碼(下),並且對抓取到的數據進行了Python詞雲和wordart可視化,感興趣的夥伴可以戳這

利用Python網絡爬蟲微信好友的所在省位和城市分布及其可視化

Python網絡爬蟲 微信好友 微信朋友圈 可視化 數據采集 前幾天給大家分享了如何利用Python網絡爬蟲抓取微信好友數量以及微信好友的男女比例,感興趣的小夥伴可以點擊鏈接進行查看。今天小編給大家介紹如何利用Python網絡爬蟲抓取微信好友的省位和城市,並且將其進行可視化,具體的教程如下

利用Python網絡爬蟲微信好友的簽名及其可視化展示

完成 mage 小白 lin 朋友圈 簽名 教程 技術分享 ctu 前幾天給大家分享了如何利用Python詞雲和wordart可視化工具對朋友圈數據進行可視化,利用Python網絡爬蟲抓取微信好友數量以及微信好友的男女比例,以及利用Python網絡爬蟲抓取微信好友的所在省位

一個簡書的爬蟲可以設定頁碼文章標題、簡介以及連結

1 #coding=utf-8 2 import requests 3 from bs4 import BeautifulSoup 4 5 m=input("請輸入想要抓取的頁碼數量:") 6 for i in range(1,int(m)): 7 url="https://ww

利用神州靈雲apptrace到的APP資料反向給做Jmeter介面測試

前提:準備一款手機APP,嵌入神州靈雲公司sdk,使其操作產生的資料傳送到神州靈雲apptrace平臺上;本文就以開源的月光茶人APP(ios)程式為例,講述如何用sdk採集到資料提供給jmeter做介面或壓力測試; 1,首先操作手機月光茶人app執行一個完整

利用神州靈雲AppTrace到的APP資料反向給做Jmeter介面測試(二)

用jmeter模擬登入月光茶人APP選購支付流程(或者大量併發,實現壓測效果) 現實中APP對登入都有限制,同一賬號只能同時登入一次,且手裡沒有多餘的賬號如何進行併發測試呢,這個時候只需單獨對登入http請求進行控制即可;其他請求操作可以放在一塊進行併發測試;