• 关于爬虫


    关于Python的一个就业方向 ,最近看了一个关于爬虫的介绍


    做爬虫,特别是python写说容易挺容易,说难也挺难的,
    举个栗子 简单的:将http://paste.ubuntu.com上面的所有代码爬下来
    写个for循环,调用urllib2的几个函数就成了,基本10行到20行以内的代码
    难度0

    情景:
    1.网站服务器很卡,有些页面打不开,urlopen直接就无限卡死在了某些页面上(2.6以后urlopen有了timeout)
    2.爬下来的网站出现乱码,你得分析网页的编码
    3.网页用了gzip压缩,你是要在header里面约定好默认不压缩还是页面下载完毕后自己解压
    4.你的爬虫太快了,被服务器要求停下来喝口茶
    5.服务器不喜欢被爬虫爬,会对对header头部浏览器信息进行分析,如何伪造
    6.爬虫整体的设计,用bfs爬还是dfs爬
    7.如何用有效的数据结构储存url使得爬过的页面不被重复爬到
    8.比如1024之类的网站(逃,你得登录后才能爬到它的内容,如何获取cookies

    以上问题都是写爬虫很常见的,由于python强大的库,略微加了一些代码而已
    难度1

    情景:
    1.还是cookies问题,网站肯定会有一个地方是log out,爬虫爬的过程中怎样避免爬到各种Log out导致session失效
    2.如果有验证码才能爬到的地方,如何绕开或者识别验证码
    3.嫌速度太慢,开50个线程一起爬网站数据

    难度2

    情景:
    1.对于复杂的页面,如何有效的提取它的链接,需要对正则表达式非常熟练
    2.有些标签是用Js动态生成的,js本身可以是加密的,甚至奇葩一点是jsfuck,如何爬到这些

    难度3

    总之爬虫最重要的还是模拟浏览器的行为,具体程序有多复杂,由你想实现的功能和被爬的网站本身所决定
  • 相关阅读:
    leetcode297
    leetcode4
    leetcode23
    leetcode72
    leetcode239
    leetcode42
    leetcode128
    leetcode998
    SAP MM GR-based IV, 无GR不能IV?
    小科普:机器学习中的粒子群优化算法!
  • 原文地址:https://www.cnblogs.com/black-l/p/7828475.html
Copyright © 2020-2023  润新知