一、平時下載linux的源碼包,都是通過搜索,然後找到相關的下載網站進行下載。或者搜索網站進行下載,而且還要遍歷查找安全的網站下載,這樣有些浪費時間與精力.
二、下面舉例介紹一種簡單的方法下載軟體的源碼安裝包
使用 yum info XXX 的命令得到軟體的地址,然後復制即可瀏覽,這樣即安全也省時間去查找,更加簡單,如下圖所示
使用yum info 命令進行查看軟體的信息,里邊包含了軟體的網站,可以很方便得知源碼下載地址了.
三、總結
無論使用哪一種方法來查詢軟體的源碼包,但還是要驗證一下它的安全性,避免出現故障,最好就是到軟體的官方網站進行下載。
2. solrj的CloudSolrClient源碼分析及為什麼查詢慢
solrj針對solrcloud提供了CloudSolrClient,用於對集群環境solr操作,從一個測試例子,一步步深入,看看CloudSolrClient是如何做查詢操作的
1、使用CloudSolrClient發起一個查詢請求
2、接著調用CloudSolrClient的request方法
3、CloudSolrClient的request方法中,首先回去獲取請求中的collection名字,如果沒有,獲取默認設置的collcetion,然後調用requestWithRetryOnStaleState方法
4、requestWithRetryOnStaleState方法中,先去連接zk獲取solrclound注冊在zk上的信息
5、獲取zk上的信息,經過處理後,封裝到request中,調用sendRequest方法
6、在sendRequest中,會獲取每個片的每個replicat的url與注冊在zk上的live url做一個交集,得到一個查詢url集合,然後創建一個LBHttpSolrClient,請求solrcloud
7、LBHttpSolrClient的request中會在for循環中挨個的輪詢上一個步驟中放入的urllist發起http查詢請求
在rsp合並結果,並返回
3. 怎麼查一個用易語言編寫的程序的源代碼
程序的源代碼只有作者才有如果你想修改版權,等等一些信息,推薦使用C32/OD/這2個。破解程序用。希望採納!
4. 怎麼查尋網頁上視頻的源代碼
一、工具:電腦
二、操作步驟:
【1】把視頻或者內容用瀏覽器打開,各種瀏覽器都可以。
5. 怎麼查詢vpal源代碼
網路搜索一下地址源代碼就可以了
6. 如何使用python爬蟲jfinal
一、gzip/deflate支持
現在的網頁普遍支持gzip壓縮,這往往可以解決大量傳輸時間,以VeryCD的主頁為例,未壓縮版本247K,壓縮了以後45K,為原來的1/5。這就意味著抓取速度會快5倍。
然而python的urllib/urllib2默認都不支持壓縮,要返回壓縮格式,必須在request的header裡面寫明』accept-
encoding』,然後讀取response後更要檢查header查看是否有』content-encoding』一項來判斷是否需要解碼,很繁瑣瑣
碎。如何讓urllib2自動支持gzip, defalte呢?其實可以繼承BaseHanlder類,然後build_opener的方式來處理:
import urllib2
from gzip import GzipFile
from StringIO import StringIO
class ContentEncodingProcessor(urllib2.BaseHandler):
"""A handler to add gzip capabilities to urllib2 requests """
# add headers to requests
def http_request(self, req):
req.add_header("Accept-Encoding", "gzip, deflate")
return req
# decode
def http_response(self, req, resp):
old_resp = resp
# gzip
if resp.headers.get("content-encoding") == "gzip":
gz = GzipFile(
fileobj=StringIO(resp.read()),
mode="r"
)
resp = urllib2.addinfourl(gz, old_resp.headers, old_resp.url, old_resp.code)
resp.msg = old_resp.msg
# deflate
if resp.headers.get("content-encoding") == "deflate":
gz = StringIO( deflate(resp.read()) )
resp = urllib2.addinfourl(gz, old_resp.headers, old_resp.url, old_resp.code) # 'class to add info() and
resp.msg = old_resp.msg
return resp
# deflate support
import zlib
def deflate(data): # zlib only provides the zlib compress format,not the deflate format;
try: # so on top of all there's this workaround:
return zlib.decompress(data, -zlib.MAX_WBITS)
except zlib.error:
return zlib.decompress(data)然後就簡單了,
encoding_support = ContentEncodingProcessor
opener = urllib2.build_opener( encoding_support, urllib2.HTTPHandler )
#直接用opener打開網頁,如果伺服器支持gzip/defalte則自動解壓縮
content = opener.open(url).read()二、更方便地多線程
總結一文的確提及了一個簡單的多線程模板,但是那個東東真正應用到程序裡面去只會讓程序變得支離破碎,不堪入目。在怎麼更方便地進行多線程方面我也動了一番腦筋。先想想怎麼進行多線程調用最方便呢?
1、用twisted進行非同步I/O抓取
事實上更高效的抓取並非一定要用多線程,也可以使用非同步I/O法:直接用twisted的getPage方法,然後分別加上非同步I/O結束時的callback和errback方法即可。例如可以這么干:
from twisted.web.client import getPage
from twisted.internet import reactor
links = [ 'http://www.verycd.com/topics/%d/'%i for i in range(5420,5430) ]
def parse_page(data,url):
print len(data),url
def fetch_error(error,url):
print error.getErrorMessage(),url
# 批量抓取鏈接
for url in links:
getPage(url,timeout=5)
.addCallback(parse_page,url) #成功則調用parse_page方法
.addErrback(fetch_error,url) #失敗則調用fetch_error方法
reactor.callLater(5, reactor.stop) #5秒鍾後通知reactor結束程序
reactor.run()twisted人如其名,寫的代碼實在是太扭曲了,非正常人所能接受,雖然這個簡單的例子看上去還好;每次寫twisted的程序整個人都扭曲了,累得不得了,文檔等於沒有,必須得看源碼才知道怎麼整,唉不提了。
如果要支持gzip/deflate,甚至做一些登陸的擴展,就得為twisted寫個新的HTTPClientFactory類諸如此類,我這眉頭真是大皺,遂放棄。有毅力者請自行嘗試。
這篇講怎麼用twisted來進行批量網址處理的文章不錯,由淺入深,深入淺出,可以一看。
2、設計一個簡單的多線程抓取類
還是覺得在urllib之類python「本土」的東東裡面折騰起來更舒服。試想一下,如果有個Fetcher類,你可以這么調用
f = Fetcher(threads=10) #設定下載線程數為10
for url in urls:
f.push(url) #把所有url推入下載隊列
while f.taskleft(): #若還有未完成下載的線程
content = f.pop() #從下載完成隊列中取出結果
do_with(content) # 處理content內容這么個多線程調用簡單明了,那麼就這么設計吧,首先要有兩個隊列,用Queue搞定,多線程的基本架構也和「技巧總結」一文類似,push方法和
pop方法都比較好處理,都是直接用Queue的方法,taskleft則是如果有「正在運行的任務」或者」隊列中的任務」則為是,也好辦,於是代碼如
下:import urllib2
from threading import Thread,Lock
from Queue import Queue
import time
class Fetcher:
def __init__(self,threads):
self.opener = urllib2.build_opener(urllib2.HTTPHandler)
self.lock = Lock() #線程鎖
self.q_req = Queue() #任務隊列
self.q_ans = Queue() #完成隊列
self.threads = threads
for i in range(threads):
t = Thread(target=self.threadget)
t.setDaemon(True)
t.start()
self.running = 0
def __del__(self): #解構時需等待兩個隊列完成
time.sleep(0.5)
self.q_req.join()
self.q_ans.join()
def taskleft(self):
return self.q_req.qsize()+self.q_ans.qsize()+self.running
def push(self,req):
self.q_req.put(req)
def pop(self):
return self.q_ans.get()
def threadget(self):
while True:
req = self.q_req.get()
with self.lock: #要保證該操作的原子性,進入critical area
self.running += 1
try:
ans = self.opener.open(req).read()
except Exception, what:
ans = ''
print what
self.q_ans.put((req,ans))
with self.lock:
self.running -= 1
self.q_req.task_done()
time.sleep(0.1) # don't spam
if __name__ == "__main__":
links = [ 'http://www.verycd.com/topics/%d/'%i for i in range(5420,5430) ]
f = Fetcher(threads=10)
for url in links:
f.push(url)
while f.taskleft():
url,content = f.pop()
print url,len(content)
7. 怎麼查視頻文件的源代碼
日誌添加flash(視頻):必須先找到視頻(flash)的地址,復制以後,打開你的空間,編輯日誌,點擊寫日誌裡面flash的標記f,就會出現一個對話框,把復制的地址粘貼到地址欄里,在自定義前面點一下,再填寬度還有高度,大約是700*500,再點擊下面的確定,然後瀏覽一下,可以放出就可以提交日誌了,記住視頻(flash)最後的結尾一定要是swf,否則就放不出來了,你可以去試試。(好心態原創回答,請不要復制回答,謝謝!)
8. C語言程序設計之《查找》源代碼
程序如下:
把#define N 3 改成#define N 20 就可以了,定為3是為了輸入簡單
/*
對於《人事管理系統》,利用C語言,編一個用於查找員工的程序,
且要通過員工的工號查找,一共是二十個員工,要求輸入員工的工號就能顯示出該員工的信息
,包括工號、姓名、性別、職位、工資;當輸入的工號不存在時,要顯示出查無此人。
*/
#include<stdio.h>
#include<string.h>
#define N 3
struct staff
{
int num;
char name[10];
char sex[10];
char position[20];
int salary;
}str[N];
void input_staff()
{
int i,j;
for(i=0;i<N;i++)
strcpy(str[i].name,"\0");
for(i=0;i<N;i++)
{
printf("輸入第%d個員工的信息:\n",i+1);
printf("工號:");
scanf("%d",&str[i].num);
printf("姓名: ");
scanf("%s",str[i].name);
for(j=0;j<i;j++)
{
if(strcmp(str[j].name,str[i].name)==0)
{
printf("\n名字重復,不能重復給同一個人輸入信息!!!\n");
printf("重新輸入員工名字:\n");
scanf("%s",str[i].name);
j=-1;
}
}
printf("性別: ");
scanf("%s",str[i].sex);
printf("職位: ");
scanf("%s",str[i].position);
printf("工資: ");
scanf("%d",&str[i].salary);
printf("\n");
}
}
void display()//顯示N個員工的信息
{
int i;
printf("%d個員工的信息如下:\n",N);
for(i=0;i<N;i++)
printf("%d %d %s %s %s %d\n\n",i+1,str[i].num,str[i].name,str[i].sex,str[i].position,str[i].salary);
}
void find(int data)
{
int i=0;
for(i=0;i<N;i++)
if(data==str[i].num)
{
printf("\n找到這個員工了!!!\n\n");
printf("這個員工的信息是:%d %s %s %s %d\n\n",str[i].num,str[i].name,str[i].sex,str[i].position,str[i].salary);
break;
}
if(i==N)printf("\n查無此人!!!!\n");
}
void main()
{
int id_find=0;
int i,n=0;
input_staff();//輸入N個員工的信息
display();//顯示N個員工的信息
printf("\n輸入你要查找的員工個數:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
printf("輸入你要查找的員工工號:");
scanf("%d",&id_find);
find(id_find);//查找是否存在該員工
}
}
運行結果:
輸入第1個員工的信息:
工號:100
姓名: gong
性別: female
職位: manager
工資: 10000
輸入第2個員工的信息:
工號:101
姓名: xi
性別: male
職位: sales
工資: 5000
輸入第3個員工的信息:
工號:102
姓名: fa
性別: male
職位: engineer
工資: 8500
3個員工的信息如下:
1 100 gong female manager 10000
2 101 xi male sales 5000
3 102 fa male engineer 8500
輸入你要查找的員工個數:2
輸入你要查找的員工工號:102
找到這個員工了!!!
這個員工的信息是:102 fa male engineer 8500
輸入你要查找的員工工號:103
查無此人!!!!
Press any key to continue
9. 請教各位大神,Macbook怎麼查詢源代碼或審查元素
你上面說的比較模糊 1、你的意思是想看到一些html代碼卻看不到
2、html為dom元素,也是你平時常操作的界面內容部分,也是常常能看到的。
3、對於不同的語言對html的操作有所不同
4、你用C的話,界面處理是一種方式,你有.NET可能是.asp 當然這個也可以相互轉化
5、你用php編碼也會有點變化,但對界面的初始操作,也可在後來導入,你是操作dom元素
6、你看不到html中的一些代碼或者標簽,它沒有隱藏,只是書寫方式變了。
7、以java為例,前台會用jsp來寫,但界面文件幾乎看不到一個dom元素(html標簽)
8、考慮安全一般都會這樣,當做對一些影樓類宣傳的網站不必這樣,因為它沒有什麼。
9、html javascrip css 是一家,有空看一下Bootstrap ,jquery .
10、有時也會後台來完成前台代碼的編寫。
11、你把代碼發過來,我看一下。
*以上希望對你有幫助
10. 老師怎麼查你的畢業設計源代碼
https://paperswithcode.com/,進去網址以後左上角輸入名字,便會出來結果,然後點擊code部分即可。經典文章,那可以在源碼網上進行搜索,如果是比較新的文章,可以採用如下三種方法:
1、在google搜索該論文的名稱或者第一作者的姓名,找到該作者的個人學術主頁。在他的主頁上看看他是否公開了論文的代碼。
2、在google搜索該論文中演算法的名字+code或者是某種語言,如python等。這是因為閱讀這篇論文的科研人員不少,有的人讀完會寫代碼並公布出來。