zoukankan      html  css  js  c++  java
  • 爬虫解码~以及我的一些小经验

    爬虫-真正意义上来说   只要是个有数据的网站都可以爬   , 没有爬不了的东西

    今天我就分享一下一些在爬虫过程中可以用到的一些诀窍

    首先解码问题  

    我们获取网站的时候 一般用content.decode("utf-8")  ,可是有时候当我们把网站的

    内容保存到html文件的时候文件里面没有数据  ,这个问题可以用两种方法解决

    第一, 我们要在文件写入的时候 在with open 里写第三个参数 encoding=‘utf-8’

    第二种解决方案是直接获取网站数据 的时候写 比如变量名是r ,r.content.decode("utf-8").encode('gbk','ignore'),就是忽略

    这里面还有一个很实用的东西  就是 断点   exit[-1]  ,它可以终止正在运行的程序 

    当我们爬取的数据有瑕疵的时候可以替换调,用链式调用   比如   a.replace('','').replace

    这样很方便    也可以用正则来提取那些你想要的数据 比如  regex = re.compile('要匹配的东西')

    print(regex.findall(这里面是要写要从哪里匹配的文件)[0]) ,0参数可以把套在外边的列表给整没了     

    #下视频和图片意义都差不多,格式都差不了多少

    下视频的时候 :

    with open('文件名',‘ab’) as f : 

    f.write(a.content)

    with open 的第二个参数必须是ab是追加的意思   ,不写参数的话默认为r 参数

    下图片的时候

    with open('文件名',‘wb’) as f : 

    f.write(a.content)

    wb参数就是二进制的方法来打开   没有的话创建

    不过爬虫技术里最重要的就是正则匹配 , 没有东西是正则匹配不出来的,而xpath范围很小

    跟花拳绣腿差不多

    在爬虫的世界里什么数据都可以爬  , 要是你不能爬的话那只能证明你的技术不到位

    所以爬任何一个网站都不能放弃  , 坚持就是胜利 , 加油!!

  • 相关阅读:
    CSS 单行超出隐藏
    python开发学习day12 (函数参数;函数对象)
    作业day11
    python开发学习day11 (函数; 返回值 ; 形参与实参 )
    python开发学习day10 (文件指针; 文本修改)
    作业day09
    python开发学习day09 (with上下文处理; b模式; +模式; 文件操作)
    作业day08
    python开发学习day08 (集合; 文件操作)
    作业day07
  • 原文地址:https://www.cnblogs.com/weifeng-888/p/10479483.html
Copyright © 2011-2022 走看看