精华内容
下载资源
问答
  • 如何做爬虫
    千次阅读
    2017-02-11 00:10:14

    这几天有事没怎么研究,最开始用的java爬虫想爬取携程,结果失败告终。

    主要表现在:

    1.抓取不到对应的标签,jsoup语法对应的element个数是0,推测是因为直接用get方法获取机票信息时,该网站不显示和价格信息有关的elemengt,故抓取不到。

    2.抓取到的数据是错误的。价格和真正标价的相去甚远。

    据说qunar和xiecheng之类的网站在反爬虫上下了些功夫。为了达到目标我也进行了一些尝试,屡败屡战,修改了一下爬虫代码,和思路。今天尝试了phantomjs做爬虫,成功爬取了,phantomjs脚本文件的代码好像是js代码,和JAVA也差不多,很容易上手。

    方法1.访问网站的手机版,下个浏览器的user-agent switch插件,把agent改成手机浏览器就成。然后照常执行爬虫任务,相对的手机网页比电脑版简洁好抓一些,但是还是failed。

    方法2.增加请求头伪装浏览器,和真实浏览器差别太大,无效,failed。

    方法3.既然不给非浏览器发数据,那我就用真浏览器,phantomjs开源浏览器内核,说白了就是一个没有GUI的浏览器,需要通过操作台和代码行使用,当然好处就是开源的东西可以整进自己想要的功能,比如爬虫。

    暂时放下前面的java爬虫,用phantomjs来做个小爬虫,专门爬机票。最后经过尝试,success。只是暂时尝试,代码很简单,参照API写的:

    var page = require('webpage').create();
    phantom.outputEncoding="gbk";
    page.open('http://flights.ctrip.com/booking/XMN-BJS-day-1.html?DDate1=2017-02-18', function (status) {
        var flight = page.evaluate(function () {
            return document.getElementById('J_flightlist2').textContent;
        });
        console.log(flight);
    	phantom.exit();
    });
    抓取的数据如下图:



    因为和jsoup的用法有点出入,暂时没细写,直接抓了一小片的数据,看起来有点杂,而且直接抓取价格位置的标签还是抓取不到。已经实现数据整个加载,推测携程的防爬虫规则应该是需要载入某个不相关标签后才会显示价格。后续再提取也没问题,数据既然都获取到了,筛选就不是什么难事儿了。同样,如果有进展的话还有后续文章。

    Tips:

    在phantomjs使用的时候,返回cmd命令行的中文数据是乱码的,这个问题是因为有些网站采用的是GBK编码,而phantomjs默认编码是UTF-8,在代码行里插入下面这句代码,可以改变编码,解决中文乱码的问题。

    phantom.outputEncoding="gbk";修改输出编码,解决中文乱码的问题。

    更多相关内容
  • 教学向文章

    Python爬虫详解:爬虫是什么,如何做爬虫?

    读前必看:

    本篇文章为教学向文章,通俗易懂的语言难免有不合适的地方,请大佬自行退场

    爬虫是什么?

    去查网,你会看到这样的解释:

    爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本

    这看起来很晦涩难懂,让我用通俗易懂的语言来解释一下:

    爬虫是可以把网上的东西给你的程序,你想要的东西

    废话不多说,我们打开python开始编

    爬虫是怎么把你想要的东西给你的?

    这里我们爬一爬B站的首页上的图片吧

    第一步.得到所有的链接

    首先爬虫要拿到链接,在这里我们要用到的模块是requests

    requests是一个第三方库,这里我们要下载这个库

    打开cmd,直接输入pip install requests就好了
    在这里插入图片描述
    然后导入模块

    import requests
    

    接下来把你要爬的网址写成变量,这里拿B站举例

    import requests
    
    url = "http://www.bilibili.com"
    

    然后告诉机器你要爬这个网址,并把爬下来的数据写在变量里

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    

    完事,这样机器就得到了网上的数据,就这么简单
    接下来就该把你想要数据给你了

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text #把数据转为文本形式
    

    切记!!! 一定要把数据转化成文本形式,不然返回的只是请求值
    我们打印一下看看

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text
    print(html)
    

    返回值:

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><title>哔哩哔哩 (゜-゜)つロ 干杯~-bilibili</title><meta name="description" content="bilibili是国内知名的视频弹幕网站,这里有最及时的动漫新番,最棒的ACG氛围,最有创意的Up主。大家可以在这里找到许多欢乐。"><meta name="keywords" content="Bilibili,哔哩哔哩,哔哩哔哩动画,哔哩哔哩弹幕网,弹幕视频,B站,弹幕,字幕,AMV,MAD,MTV,ANIME,动漫,动漫音乐,游戏,游戏解说,二次元,游戏视频,ACG,galgame,动画,番组,新番,初音,洛天依,vocaloid,日本动漫,国产动漫,手机游戏,网络游戏,电子竞技,ACG燃曲,ACG神曲,追新番,新番动漫,新番吐槽,巡音,镜音双子,千本樱,初音MIKU,舞蹈MMD,MIKUMIKUDANCE,洛天依原创曲,洛天依翻唱曲,洛天依投食歌,洛天依MMD,vocaloid家族,OST,BGM,动漫歌曲,日本动漫音乐,宫崎骏动漫音乐,动漫音乐推荐,燃系mad,治愈系mad,MAD MOVIE,MAD高燃"><meta name="renderer" content="webkit"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="spm_prefix" content="333.851"><link rel="dns-prefetch" href="//s1.hdslb.com"><script type="text/javascript">function getIEVersion(){var e=99;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1))}return e}getIEVersion()<11&&(window.location.href="https://www.bilibili.com/blackboard/activity-I7btnS22Z.html")</script><script type="text/javascript">!function(){for(var ......
    

    一千多行!
    花花绿绿的都是链接和代码
    对,我们要的就是链接
    接下来怎么找图片的链接呢?

    第二步.找图片链接

    为了教学,不用正则表达式
    首先得把他们分开

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text
    
    list_html = html.split('"')
    

    如果要让机器提取B站图片链接
    那就得让他知道B站图片链接长啥样
    B站图片链接长这样:

    http://i0.hdslb.com/bfs/archive/0bf1a101af3a0014def2a3978ff68101c7002106.jpg
    http://i1.hdslb.com/bfs/face/f0de237671f10a9ef735636250ca89bd50c180fb.jpg
    

    看看它们有什么特点
    他们都是http协议的链接
    他们一定有"hdslb.com"
    他们的后缀是".jpg"
    那么我们就可以开干了!

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text
    
    list_html = html.split('"')
    urls = []
    for i in list_html:
        if "http://" in i:
            if "hdslb.com" in i and ".jpg" in i:
                urls.append(i)
    

    写个for循环依次检查每个链接是不是我们要找的链接
    如果是就加进列表里
    打印一下看看

    ['https://i0.hdslb.com/bfs/sycp/creative_img/202007/d07403ce674fb827c654006f44380879.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/d1b177d716d28038dfde1f7677ca0dbb.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/d1b177d716d28038dfde1f7677ca0dbb.jpg@412w_232h_1c_100q.jpg', 'http://i2.hdslb.com/bfs/face/6de7150ba0e78a33860538da88a6c5b787024579.jpg', 'http://i0.hdslb.com/bfs/archive/589488d99e16347892f94d56ec6e179843198318.jpg', '//i0.hdslb.com/bfs/archive/589488d99e16347892f94d56ec6e179843198318.jpg@412w_232h_1c_100q.jpg', 'http://i0.hdslb.com/bfs/face/34d7ccfe7fbfe16e2e764b7bd543d1bb566ff208.jpg', 'http://i0.hdslb.com/bfs/archive/cacb9830431d35e543438aef602900c8d911960f.jpg', '//i0.hdslb.com/bfs/archive/cacb9830431d35e543438aef602900c8d911960f.jpg@412w_232h_1c_100q.jpg', 'http://i0.hdslb.com/bfs/face/1a2554b2b54c17694fb7aa37900b28f7b7c96449.jpg', 'http://i0.hdslb.com/bfs/archive/f9c64dcf5d383b8340c1a237f8ea4d4a9dcef00e.jpg', '//i0.hdslb.com/bfs/archive/f9c64dcf5d383b8340c1a237f8ea4d4a9dcef00e.jpg@412w_232h_1c_100q.jpg', 'http://i0.hdslb.com/bfs/face/569dec5aeab5ad650ecdee0c1d8965512d32657c.jpg', 'http://i0.hdslb.com/bfs/archive/3c8bad9fb462fe76f2d8644a08ec3296ba932804.jpg', '//i0.hdslb.com/bfs/archive/3c8bad9fb462fe76f2d8644a08ec3296ba932804.jpg@412w_232h_1c_100q.jpg', 'http://i0.hdslb.com/bfs/face/1aa5fb297a1dafee8c12c809bed7eb9e8059a929.jpg', 'http://i0.hdslb.com/bfs/archive/1bd5e2c9c6d49df89a5e1d96ca7c7715c37a210c.jpg', '//i0.hdslb.com/bfs/archive/1bd5e2c9c6d49df89a5e1d96ca7c7715c37a210c.jpg@412w_232h_1c_100q.jpg', 'http://i2.hdslb.com/bfs/face/26c84ebb81c5bd1c1381bd75090bd7e39e0535fd.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/2cd187b3d851c2cb0906d12bfaa868d3.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/fc81f5f324f6f44a233272dd5c1e9f65.jpg', 'http://i0.hdslb.com/bfs/archive/28b001cd91e5b900f02bca8c93dfd1de609e8cfe.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/e2f0bd3a91bcadcd0d1a31c0cada55d1.jpg', 'http://i0.hdslb.com/bfs/archive/ab80cfa04e04a5a3e7e0c2604d2958b094f72e03.jpg', 'http://i0.hdslb.com/bfs/archive/a8144c19e221e3aca37c4c4baff31de0770f10db.jpg', 'http://i0.hdslb.com/bfs/archive/d348642d611e98021c4c13c30cf5b588a9cf5abb.jpg', 'http://i0.hdslb.com/bfs/archive/bb5f66e5f61d6b626fac43897fb9dd03c257820c.jpg', 'http://i0.hdslb.com/bfs/archive/bb5f66e5f61d6b626fac43897fb9dd03c257820c.jpg', 'http://i0.hdslb.com/bfs/face/cb620bbb9071974f37843134875d472b47532a97.jpg', 'http://i0.hdslb.com/bfs/archive/becf9e8d300838b7310bd26a7ddb25c627225a09.jpg', 'http://i2.hdslb.com/bfs/archive/becf9e8d300838b7310bd26a7ddb25c627225a09.jpg', 'http://i0.hdslb.com/bfs/face/cb620bbb9071974f37843134875d472b47532a97.jpg', '
    

    OHHHHHHHHHH!!!
    可是里面有好多重复的,这没关系
    我们再改改

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text
    
    list_html = html.split('"')
    urls = []
    for i in list_html:
        if "http://" in i:
            if "hdslb.com" and ".jpg" in i:
                urls.append(i)
    photo_urls = []
    for i in urls:
        if i not in photo_urls:
            photo_urls.append(i)
    

    返回

    ['https://i0.hdslb.com/bfs/sycp/creative_img/202007/d07403ce674fb827c654006f44380879.jpg', 'https://i0.hdslb.com/bfs/sycp/creative_img/202007/d1b177d716d28038dfde1f7677ca0dbb.jpg@412w_232h_1c_100q.jpg', 'http://i2.hdslb.com/bfs/face/6de7150ba0e78a33860538da88a6c5b787024579.jpg', 'http://i0.hdslb.com/bfs/archive/589488d99e16347892f94d56ec6e179843198318.jpg', '//i0.hdslb.com/bfs/archive/589488d99e16347892f94d56ec6e179843198318.jpg@412w_232h_1c_100q.jpg', 'http://i0.hdslb.com/bfs/face/34d7ccfe7fbfe16e2e764b7bd543d1bb566ff208.jpg', 'http://i0.hdslb.com/bfs/archive/cacb9830431d35e543438aef602900c8d911960f.jpg'
    

    这下好了

    第三步.保存

    用with open的写入模式保存二进制数据:

    import requests
    
    url = "http://www.bilibili.com"
    html = requests.get(url)
    html = html.text
    
    list_html = html.split('"')
    urls = []
    for i in list_html:
        if "http://" in i:
            if "hdslb.com" and ".jpg" in i:
                urls.append(i)
    photo_urls = []
    for i in urls:
        if i not in photo_urls:
            photo_urls.append(i)
    cnt = 0
    for i in photo_urls:
        cnt += 1
        img = requests.get(i)
        with open("Photo_{}.jpg".format(cnt),"wb") as f:
            f.write(img.content)
    

    完成!

    成果展示:

    在这里插入图片描述
    免责声明:如果文章中内任何图片或链接等信息侵权,请联系作者删除!
    作者:Azure
    绝对原创,只在CSDN发布,如见其他盗文敬请举报!

    展开全文
  • 每个人的时间是有限的,你的编程学得好,但是你唱歌跳舞也很好,总不可能白天当爱豆和蔡徐坤一起参加活动,晚上回公司项目吧?肯定只能选一个作为你主要的工作,另一个就只能成为业余爱好。 爬虫绝不是表面的 ...

    喜欢编程,热爱分享,希望能结交更多志同道合的朋友,一起在学习Python的道路上走得更远!

    首先我们要清楚一件事:没有什么知识是无用的,要么是你没有学好,要么是你不会用或者暂时用不到。

    每个人的时间是有限的,你的编程学得好,但是你唱歌跳舞也很好,总不可能白天当爱豆和蔡徐坤一起参加活动,晚上回公司做项目吧?肯定只能选一个作为你主要的工作,另一个就只能成为业余爱好。

    Python爬虫教程很多,为何做爬虫的那么少?爬虫学了没用吗?

    爬虫绝不是表面的 用requests、urllib,发个http请求那么简单,现实中你要抓人家的数据, 会有很多门槛:

    1.人家检测出你是爬虫,拉黑你IP (人家究竟是通过你的ua、行为特则 还是别的检测出你是爬虫的?你怎么规避?)

    2.人家给你返回脏数据,你怎么辨认?

    3.对方被你爬死,你怎么设计调度规则?

    4.要求你一天爬完10000w数据,你一台机器带宽有限,你如何用分布式的方式来提高效率?

    5.数据爬回来,要不要清洗?对方的脏数据会不会把原有的数据弄脏?

    6.对方的部分数据没有更新,这些未更新的你也要重新下载吗?怎么识别?怎么优化你的规则?

    7.数据太多,一个数据库放不下,要不要分库?

    8.对方数据是JavaScript渲染,那你怎么抓?要不要上PhantomJS?

    9.对方返回的数据是加密的,你怎么解密?

    10.对方有验证码,你怎么破解?

    11.对方有个APP,你怎么去得到人家的数据接口?

    12.数据爬回来,你怎么展示?怎么可视化?怎么利用?怎么发挥价值?等等......

    Python爬虫教程很多,为何做爬虫的那么少?爬虫学了没用吗?

     

    大规模数据爬虫的技术难度成倍增加,对于复杂爬虫而言,如何进行大规模数据的爬取和存储,或者如何绕过复杂的认证,这都不是容易搞定的,需要熟悉分布式的架构和使用、网络底层协议、各类网站前后端架构及数据加密方式、甚至要有网络安全攻防的功底,一个强大的爬虫,涉及很多学科的知识,是一门很大的学问,一个人短时间之类掌握这么多知识基本上是不可能的,需要你下苦心深度钻研。

    Python爬虫教程很多,为何做爬虫的那么少?爬虫学了没用吗?

    做不到这些,爬虫学了就没有用了吗?当然不是。其实业务上,爬虫的需求不少,只是专职做爬虫的却不多。因为如果不是完全靠数据驱动的公司,对于数据的需求并没那么大,并不需要专人专岗来写爬虫。

    基础的爬虫也有实用的地方,普通的开发都能通过很短时间的学习胜任简单的爬虫任务。我身边不少朋友,前后端数据分析AI工程师,时不时都会写点爬虫,自己多一门技能,工作时会事半功倍。所以说,python爬虫学了到底有没有用,主要取决于你怎么用。

    觉得文章还可以的话不妨收藏起来慢慢看,有任何意见或者看法欢迎大家评论!

    我是一名python开发工程师,从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习,
    面试真题,面试真题,面试真题等。想要这些资料的可以进群:688244617

    展开全文
  • 正好手头毕业论文要求使用爬虫采集数据,就顺势参加了这次比赛。从没头没脑的开始,到最后莫名其妙的完成,过程还是很艰难的。刚开始的时候非常痛苦,每天要盯着看不懂的代码四五个小时,甚至惨到连编辑器pycharm都...

    1

    真实经历,从一点儿不懂到懂了一点儿,需要两周。

    两周前,我参加了一个线上编程比赛。两周时间,要求一个没有编程基础的人,从零开始独立完成一个project。正好手头毕业论文要求使用爬虫采集数据,就顺势参加了这次比赛。

    从没头没脑的开始,到最后莫名其妙的完成,过程还是很艰难的。刚开始的时候非常痛苦,每天要盯着看不懂的代码四五个小时,甚至惨到连编辑器pycharm都不会用...两天三天过去了还是没有进展,连头绪都没有。开始疯狂的在网上找教程,找案例。好在,我是有任务在身,毕业论文的数据采集任务在那逼着...要不然真不知道还能不能坚持的下去。

    到最后爬完了天猫3000个数据,完成后又把小伙伴们的数据都爬下来了,这种酸爽简直了。

    最后的结果是这样婶儿的:

    248718cb935a

    爬出来的内容是这样婶儿的:

    248718cb935a

    看到最后的结果,真想说一句:太他妈不容易了!

    文章已结束,下面由当事人发表一下感言。

    2

    任何事,从不会到会一点都只需要两周?

    还记得网上有篇文章讲北大教授上课的,大意是物理系的教授,下课的时候布置一道实验项目,牵扯到他还没有讲,学生们闻所未闻的概念。有学生说“老师这我们没学过啊”教授回答说“没学过就对了,现在回去学啊”

    之后的一周里,学生们天天泡在图书馆,查阅资料,苦心钻研。第一天什么都没看懂,第二天第三天还是一头雾水。眼看要交作业了,想要放弃也没有退路。终于第四天明白了一丢丢,第五天两丢丢,天天都在切磋新概念新名词,琢磨新概念新名词之间必要清晰的关系。

    如果你觉得最后会“终于完美的完成了”就too young too native了,最后还有很多学生没有完成作业。

    我这两周就像是这样婶儿的。只不过我天天捣鼓的都是这种玩意:

    248718cb935a

    相信我,两周前我和你现在的感觉是一样的:这都是些个什么玩意?但还得相信,这就是我用两周时间一个一个字母敲出来的。而这几行代码,可以爬取天猫上任何品类商品的基本属性,可以爬取任意多条。

    当然,最后还没有做到尽善尽美。有一些权限还没有获取,或者被反爬虫隔离了,不过我已经很满意了。

    你可能会说,我本来就会一些计算机知识啊。不是的,我现在学的是前端开发,和这种后台语言的关系就像雷锋和雷峰塔,我看到这种代码一样是懵逼的状态。

    3

    有这么三点我想重点分享一下:

    1)在开始之前,我就“看到了”我一定做的到。

    我们设立一个目标的时候,心里会出现一个自然预期。这个预期是这么写的“我是不是一定会完成,我有没有可能会中途放弃”如果预期中根本就不存在有退路,或者PlanB的念头,这事基本能成。反之则不然。

    假如有了一个小小的“退路”的念头,必然会在你开始的过程中,在遭遇艰难,痛苦的时候被逐渐放大。直到这个念头“被困难喂养”的比出门右转的“天使”还要强大。这时候事情还会不会有结果就很难说了。

    有很多事都是这样子被不了了之,至少我是这样婶儿的。

    但是这次为啥没有呢?

    不是我牛逼,自己就能控制不出现放弃的念头,是客观原因的存在。我们一小组三个人负责整个小组的论文数据采集任务,其中一个妹子在上海实习,另一个像个两百斤的孩子的是我室友,知根知底,知道没谱儿,就只有靠自己了。而论文这种事,you know,it is have no Plan B.

    就这样我不得不在开始的时候,就没机会想“要推脱,要有退路,要放弃”。没了那一丢丢的念头,往后遇神被神杀,遇佛被佛挡的时候,就只有扛着过,满血活了。

    哪有人天生牛逼,只有天生被逼。我估计这件事不论放在谁头上都是可以做到的。

    2)笨蛋不可怕,就怕笨蛋坚持下。

    我一直有一个偶像叫曾国藩。这个人是出了名的愚笨,后来竟然被誉为是中国历史上的第两个半完人。他独创的“结硬寨,打呆仗”把当时实力几倍于湘军的太平天国掀翻,靠的就是那股扎扎实实的笨劲。同样的人还有阿甘和郭靖。

    我非常相信龟兔赛跑的故事,相信傻人有傻劲,傻劲有奇效。

    说起来简单,过程又何其容易呢。几乎这两周每晚都在公司加班到九点多,白天偷偷摸摸的看代码,理思路。刚开始是一个一个单词去通,每个语法,函数,流程语句,变量,三方库都是一个个大坑。每个坑都会掉里面几个甚至十几个小时爬不出来,何其焦虑,何其悲哀。

    看着网上有人讲出代码原理,自己敲出来的和人家的看起来一模一样,但是会报错,不能运行。意味着抄都抄错,何其痛苦,何其无助。

    引用《中庸》中的一段话:

    “人一能之,己百之,人十能之,己千之。若能得此道者,虽柔必刚,虽弱必强”

    只要不被“我学不会啊”吓倒,我相信凭借人脑牛逼的思考理解力,搞定电脑们遵守的这些规则还是绰绰有余的。我以前常说一句话:遇见困难,解决困难,直到最后,爱上困难。

    3)成年人应有的学习方法

    价值观灌输完毕总要有方法论的,就以我写爬虫程序为例:

    我开始的时候不是先从python(我的虫子用的一门计算机语言,据说是世界上第二好用的计算机语言)的“入门”“新手必读”或者从最最基本的概念“变量”“逻辑判断”“字符串”“函数”等开始着手的。这是小朋友们上小学和中学的学习方法,我一直也不太认同。

    若是成年人还是这样一步步按部就班的学习,我约莫人的耐心早晚会被磨没,而且会边学边忘,还不成系统。

    我是这样开始的:撸起袖子****直接做。百度一下前辈们留下的python爬虫代码,照着一步步看,然后理解。开始自然会一丁点都不懂,这没关系,遇到不懂的再去查,查完回来接着看,一直到把原理都弄明白,顺带也就把涉及到的概念掌握了几分。这大概需要花一周多的时间。

    这一周也是最痛苦的时候,一定会有无数次的草泥马飞奔过你的心田,有无数次的放弃念头茁壮成长。这个时候可以默念:请看前两条...

    这么说有时候价值观还是挺有用的,鸡汤也是会补身体的。就看能不能自带汤勺了。

    对普通人来讲,过这一遍大致就掌握个三四分,然后在重复两遍。这时候有个师傅时最好不过的,能少走不少弯路。有时候仅仅因为一个中文的标点你的程序就崩盘,一上午都找不到原因也是可能的。这时候需要一个第三方反馈机制,譬如师傅,教练,伙伴等。所以说老司机带路是有道理的。

    没有老司机也不要紧,只不过多踩点坑,多花点时间罢了。这些坑才是最能锻炼你学习能力和解决问题能力的好东西。

    经过三五次复盘,基本上前辈们的代码已经很熟悉(不要以为第一眼看上去不懂的东西就以为永远弄不懂),了解了五六分之后就可以直接开始了。如果发现有一写就懵逼的情况就太好了,你又发现了一点你的不足,又可以稍稍进步一点了。要善用搜索引擎解决问题,特别要会用Google。如果不会就去百度一下“怎么使用Google”

    要相信,你现在遇到的任何问题,网上都有前辈问过类似的问题,大部分在搜索引擎上都有相关解答,如果没有,说明的你问题根本不是问题,细心一些就会解决了。不怕麻烦,一来二去,三番四次就算再不女的问题也一定会被解决。而你的成功就会踩着这些问题驾着七彩云彩来迎接你了。

    最后。最后说不定真的就在两周内做成了一件事。而且是从头到尾,从零开始体验到一件事物从小到大,从无到有的过程。在某种程度上,这种体验带来的自信感和成就感,比做成事情本身更有价值。这大概就是为什么那么多有钱人还在那么拼命工作的原因。

    总结:有耐心,好心态,方法自洽而不必完美。在我看来几乎是一套普世的方法论,可以帮人提升学习力,获得成就感。

    ps:我的心法全在这里了,拿不拿的走看你自己。

    展开全文
  • pycharm + python 做爬虫

    千次阅读 2017-12-26 21:37:04
    pycharm做爬虫python3.5+bs4爬虫模块安装步骤: 首先,你要先进入pycharm的Project Interpreter界面,进入方法是:setting(ctrl+alt+s) ->Project Interpreter,Project Interpreter在具体的Project下。点击“+”...
  • 做爬虫的可以看一下

    千次阅读 2018-06-05 12:14:09
    所谓爬虫,就是将目标网络资源通过自动化的方式获取并得到操作权。至于使用什么语言工具,那看你自己的爱好,但你选择的语言工具最好自带网络通信功能,否者你需要自己去封装很多这方面的功能模块,那就本末倒置了。...
  • Julia也能做爬虫?可以,但没必要

    千次阅读 2019-03-11 09:23:58
    Julia也能做爬虫?可以,但没必要 https://mp.weixin.qq.com/s/_o0ktXNy4tNeRsM652vUTQ
  • python做爬虫常用库

    千次阅读 2020-12-28 23:27:02
    python做爬虫常用库一、总结一句话总结:urllib:一系列用于操作URL的功能。requests:基于 urllib 编写的,阻塞式 HTTP 请求库,发出一个请求,一直等待服务器响应后,程序才能进行下一步处理。selenium:自动化...
  • 说到底就是因为Python在处理上面的事情的时候有很多库,而且语法简洁,代码风骚,开发者的注意点可以集中在自己要的事情上。 ---------------------------------------- 简单的不能再简单的粗略不严谨地回顾一下...
  • 目录 爬取数据的目的: 1.获取大量数据,用于数据分析 ...可以用于做爬虫的程序语言 1.Python 2.PHP 3.JAVA 4.C/C++ 爬虫分类 1.通用网络爬虫(搜索引擎使用,遵守robots协议) 2.聚焦网...
  • 这个其实就不怎么跟爬虫有关了,因为目前我看到的案例都是说接外包了个菠菜网站,最后被连带一起抓了的,但与上一条一样,建议搞清楚自己的东西会被用来干什么,并保留好聊天记录,涉及黄赌毒的千万别接!...
  • 做爬虫会有前途吗?

    千次阅读 2018-12-19 09:30:00
    我应该选择爬虫做为未来的发展吗?」 一个爬虫师实力有多少,就看他反反爬的能力有多强。 常见的反爬手段有请求头 验证 和 ip 频率限制,稍微难点就是图形验证,需要你点击图片中正确的文字,再者就是极验的轨迹滑动...
  • 如图,我在做爬虫得时候前面登陆验证可以正常访问,但是访问第四个地址的时候正常应该给我返回cookie 我才能用返回得cookie去访问第五次地址。 图片是我fiddler抓包信息 第五次访问的时候不是在第四次response里获...
  • 做爬虫,JS 逆向了解一下

    千次阅读 2019-10-23 17:45:21
    爬虫是大数据时代不可或缺的数据获取手段,它是综合技术的应用体现。有取就有失,有攻就有防。开发者为了保护数据,不得已想出了很多办法来限制爬虫对数据的获取。WEB 网站的构成...
  • 用Nodejs做爬虫

    万次阅读 2016-05-07 13:03:13
    欢迎访文我的博客YangChen’s Blog引言提起爬虫,最容易想到的就是python,因为python给人的感觉就是啥都能干,但是之前用python做爬虫的过程还是很不爽的,主要问题来自这么几个方面:第一个是对爬来的网页dom操作...
  • 2022 补充一点爬虫基础吧
  • 用Python做爬虫时,提取Excel数据

    千次阅读 2019-07-15 17:35:36
    最近做爬虫时,需要根据excel里的数据进行爬取,在此记录一下excel里的数据如何导入,代码如下: import xlrd data = xlrd.open_workbook(r'此处为excel文件.xlsx') #默认当前路径 # 获取所有的sheet sheet_name =...
  • 爬虫系列——做爬虫必备:各大网站蜘蛛UA

    万次阅读 多人点赞 2019-08-10 09:30:28
    了解各大搜索引擎蜘蛛爬虫的UA,对我们进行某些程序编写十分有用,例如网页判断客户端来源时,UA是常用的标准之一。本文收集了各大搜索引擎的蜘蛛爬虫UA,以便需要时查阅。 1.百度蜘蛛Baiduspide......
  • java使用ChromeDriver做爬虫时需要代理,而好多网上的例子都用了 browser = new ChromeDriver(cap);这个方法,但这个方法每次都会启动一个新的浏览器,每次我都要重新登录,有没有好的办法动态设置代理呢? 伙计们...
  • “ 阅读本文大概需要 4 分钟。 ”爬虫是大数据时代不可或缺的数据获取手段,它是综合技术的应用体现。有取就有失,有攻就有防。开发者为了保护数据,不得已想出了很多办法来限制...
  • 程序员用Python爬虫做副业半个月就赚了3W

    千次阅读 多人点赞 2022-04-23 16:38:44
    四月接近尾声,Python爬虫兼职接单高潮期已经到来,最近圈子里喜报频传,很多朋友都接到了大单,甚至有人靠Python爬虫做副业半个月就赚了3W! 这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有...
  • 【小白篇】从零学习scrapy做爬虫抓数据
  •  然后在spider下新建一个Test_spider.py 其中name = "Test_spider"就是爬虫名字,所以在start.py下也启动这个名字 有些网站有反爬虫,所以需要伪装成浏览器,这个时候需要在settings.py中进行设置 ,修改...
  • 这篇文章是看了@小M姐姐呀~的一篇《利用EXCEL进行数据爬虫》,原理也很简单,以下是实践练习记录。 利用EXCEL进行数据爬虫https://blog.csdn.net/baidu_41833099/article/details/118196280小M姐姐呀~...
  • python爬虫可以什么?python爬虫入门教程有哪些?.pdfpython爬虫可以什么?python爬虫入门教程有哪些?.pdfpython爬虫可以什么?python爬虫入门教程有哪些?.pdfpython爬虫可以什么?python爬虫入门教程有...
  • java爬虫与python爬虫谁更强?

    千次阅读 2021-02-04 11:17:45
    python做爬虫语法更简单,代码更简洁。java的语法比python严格,而且代码也更复杂 示例如下: url请求: java版的代码如下: public String call (String url){ String content = ""; BufferedReader in ...
  • 不再使用php做爬虫

    千次阅读 2016-03-12 08:00:51
    技术小白的反思在做爬虫之前自己纠结了些许,用什么做爬虫,当然听说过python在爬虫方面的璀璨事迹,但是又怕技术学的乱七八糟,目前就不打算学了,又加之最近学习php,就打算使用php,但是随之问题出现了。...
  • python爬虫可以什么?python爬虫入门教程有哪些?.docxpython爬虫可以什么?python爬虫入门教程有哪些?.docxpython爬虫可以什么?python爬虫入门教程有哪些?.docxpython爬虫可以什么?python爬虫入门教程...
  • 在讲解之前我们先来了解下百度百科对于网络爬虫是如何定义的:网络爬虫(又被称为网页蜘蛛,网络机器人,在 FOAF 社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。...
  • java可以写爬虫

    千次阅读 2021-04-23 17:49:15
    java可以写爬虫吗?java可以写爬虫吗?希望提供一下编写思路codeblocks能不能写我不知道,但不仅仅只有java可以写爬虫。用java 编写爬虫是不是很简单用java编写爬虫, 有丰富的第三方包, 使用起来比较容易 JSOUP : ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 530,873
精华内容 212,349
关键字:

如何做爬虫