不用編譯器可以運行爬蟲嗎
❶ 為什麼常用python,java做爬蟲,而不是C#C++等
我用c#,java都寫過爬蟲。區別不大,原理就是利用好正則表達式。只不過是平台問題。後來了解到很多爬蟲都是用python寫的。因為目前對python並不熟,所以也不知道這是為什麼。網路了下結果:
1)抓取網頁本身的介面
相比與其他靜態編程語言,如java,c#,C++,python抓取網頁文檔的介面更簡潔;相比其他動態腳本語言,如perl,shell,python的urllib2包提供了較為完整的訪問網頁文檔的API。(當然ruby也是很好的選擇)
此外,抓取網頁有時候需要模擬瀏覽器的行為,很多網站對於生硬的爬蟲抓取都是封殺的。這是我們需要模擬useragent的行為構造合適的請求,譬如模擬用戶登陸、模擬session/cookie的存儲和設置。在python里都有非常優秀的第三方包幫你搞定,如Requests,mechanize
2)網頁抓取後的處理
抓取的網頁通常需要處理,比如過濾html標簽,提取文本等。python的beautifulsoap提供了簡潔的文檔處理功能,能用極短的代碼完成大部分文檔的處理。
其實以上功能很多語言和工具都能做,但是用python能夠幹得最快,最干凈。Lifeisshort,uneedpython.
Python爬蟲基礎視頻
沖最後一句『Lifeisshort,uneedpython』,立馬在當當上買了本python的書!以前就膜拜過python大牛,一直想學都扯於各種借口遲遲沒有開始。。
py用在linux上很強大,語言挺簡單的。
NO.1快速開發(唯一能和python比開發效率的語言只有rudy)語言簡潔,沒那麼多技巧,所以讀起來很清楚容易。
NO.2跨平台(由於python的開源,他比java更能體現"一次編寫到處運行"
NO.3解釋性(無須編譯,直接運行/調試代碼)
NO.4構架選擇太多(GUI構架方面主要的就有wxPython,tkInter,PyGtk,PyQt。
❷ 學習python爬蟲前需要配置什麼環境
需要下載Python編譯器,建議安裝3.x,其次是代碼編輯器,推薦pycharn或者sublime text,這樣就可以寫代碼調試了
❸ 爬蟲的編輯的實驗環境
摘要 第一步,下載python,這里有一個巨坑,python2.x與python3.x變化實在是太大,博主開始用的python2.7,後來發現很多模塊版本太新,根本沒辦法使用,兼容性出了問題,索性把python2.7給卸了,然後下了python3.4,如果你習慣了python2.x,就不要輕易升級,如果你是剛學python,建議還是安裝3.x版本。還有就是注意python是64位還是32位。
❹ 你好,我有個JAVA的爬蟲代碼,txt的,但是不知道怎麼使用它爬網路上的數據。可不可以指點下
你有的是代碼(源碼)?如果是源碼,請把它另存為.java文件,然後使用jdk編譯成class文件,然後用java命令執行試試。
❺ 編寫的程序一定要有編譯器才能運行嗎
不用,編譯器只是有負責將編譯語言翻譯為機器語言的作用,編譯後的程序就是機器語言了。可以直接在計算機上運行
❻ 編寫爬蟲需要用到哪些軟體最後得到的是什麼一個exe程序嗎
寫爬蟲也不需要什麼具體的軟體,主要是看你用什麼語言用什麼庫罷了。用python實現爬蟲應該是最簡單的,有功能強大的urllib2,beautifulsoup,request等庫,用起來很方便,網上找點教程就會了。寫爬蟲還可以試試 scrapy框架,可是省去好多細節,用起來很方便。如果用python等腳本來寫的話需要一個解釋器就夠了。如果是用java等來寫的話就會編譯成一個exe可執行文件。
❼ 怎麼在DOS下用C語言寫網路爬蟲
獲取cspider_t。
自定義user agent,cookie,timeout,proxy以及抓取線程和解析線程的最大數量。
添加初始要抓取的url到任務隊列。
編寫解析函數和數據持久化函數。
啟動爬蟲。
- #include<cspider/spider.h>
- /*
- 自定義的解析函數,d為獲取到的html頁面字元串
- */
- void p(cspider_t *cspider, char *d, void *user_data) {
- char *get[100];
- //xpath解析html
- int size = xpath(d, "//body/div[@class='wrap']/div[@class='sort-column area']/div[@class='column-bd cfix']/ul[@class='st-list cfix']/li/strong/a", get, 100);
- int i;
- for (i = 0; i < size; i++) {
- //將獲取到的電影名稱,持久化
- saveString(cspider, get[i]);
- }
- }
- /*
- 數據持久化函數,對上面解析函數中調用的saveString()函數傳入的數據,進行進一步的保存
- */
- void s(void *str, void *user_data) {
- char *get = (char *)str;
- FILE *file = (FILE*)user_data;
- fprintf(file, "%s ", get);
- return;
- }
- int main() {
- //初始化spider
- cspider_t *spider = init_cspider();
- char *agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0";
- //char *cookie = "bid=s3/yuH5Jd/I; ll=108288; viewed=1130500_24708145_6433169_4843567_1767120_5318823_1899158_1271597; __utma=30149280.927537245.1446813674.1446983217.1449139583.4; __utmz=30149280.1449139583.4.4.utmcsr=accounts.douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/login; ps=y; [email protected]; dbcl2=58742090:QgZ2PSLiDLQ; ck=T9Wn; push_noty_num=0; push_doumail_num=7; ap=1; __utmb=30149280.0.10.1449139583; __utmc=30149280";
- //設置要抓取頁面的url
- cs_setopt_url(spider, "so.tv.sohu.com/list_p1100_p20_p3_u5185_u5730_p40_p5_p6_p77_p80_p9_2d1_p101_p11.html");
- //設置user agent
- cs_setopt_useragent(spider, agent);
- //cs_setopt_cookie(spider, cookie);
- //傳入解析函數和數據持久化函數的指針
- cs_setopt_process(spider, p, NULL);
- //s函數的user_data指針指向stdout
- cs_setopt_save(spider, s, stdout);
- //設置線程數量
- cs_setopt_threadnum(spider, DOWNLOAD, 2);
- cs_setopt_threadnum(spider, SAVE, 2);
- //FILE *fp = fopen("log", "wb+");
- //cs_setopt_logfile(spider, fp);
- //開始爬蟲
- return cs_run(spider);
- }
例子
先來看下簡單的爬蟲例子,會在後面詳細講解例子。
❽ python程序只能在安裝的python環境的計算機上以源代碼形式運行
也是可以編譯打包的,只是語言的特性,python更多的程序是作為一些輔助工具。也就是寫出來的程序只是自己用,比如自動化運維、爬蟲,都不是像傳統的程序,不是完全通用的。
❾ 在scrapy框架下用python爬蟲的問題!
這個是unicode的,編碼成gbk列印就是中文了 encode('gbk')
❿ 入門爬蟲下載Python還要下載單獨的編譯器如pycharm直接用IELD(Python)不行嗎
可以
但是自帶的不好用