不用编译器可以运行爬虫吗
❶ 为什么常用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)不行吗
可以
但是自带的不好用