zoukankan      html  css  js  c++  java
  • 这几点鲜有人知的爬虫技巧,让你爽歪歪 转载:https://mp.weixin.qq.com/s/52luElhn4nRBZCdQMGEhnw

    一、换个角度,解锁新姿势

    我知道

    你在爬取某些 web 网站的时候

    被各种反爬弄得哭天喊地

    什么几把 css 字体加密

    什么几把 js 的 MD5 等

    各种乱七八糟的加密

    什么几把各种飞的验证码

    图片

    这时候

    就别太执着于 web PC 端嘛

    咱们去看看人家的移动端

    看看人家的 H5

    在爬取前可以问问对方:

    “在吗?看看 H5”

    图片

    可能你会在移动端发现惊喜

    数据都是一样的数据

    冤冤相报何时了


    二、夜太美,爬虫就没那么危险


    在爬取的时候

    不要猛攻嘛~

    人家受不了啊

    你要学会停顿

    克制一点

    该 sleep 就 sleep

    图片

    要趁人家睡觉的时候

    限制防范程度低的时候

    能晚点就晚点再去爬

    没看过凌晨四点的洛杉矶

    但是你可以看到凌晨四点的爬虫啊

    这样你买的 IP 才不会频繁被封


    三、善用他人的 UA

    如果你去看别人网站的 robots.txt

    你就会看到别人的声明

    声明什么东西是可以爬取

    什么东西是不允许被爬的

    但你常常忽略了一个东西

    人家声明了希望给什么搜索引擎爬

    比如这个

    图片

    看到没

    这是别人定义的 robots

    值得注意的是

    尚亮亮的 User-agent

    那么当你在 Python 构造 Header 的时候

    User-agent 就直接指定他们 robots 定义的就好了啊

    比如 百度的UA,google的UA,360的UA

    你再去爬取看看

    那是一个友好啊

    图片


    四、插件让你节省时间

    有时候我们要拿一些关键的数据

    往往会用到 xpath、css selctor 之类的

    自己一个一个去比对获取

    那就太麻烦了啊

    还记得之前说得这个吗?

    吐血分享这两个爬虫用到的 Chrome 牛逼插件

    记得用起来呀


    五、那 Header 快速生成吧

    每一次你在复制 request header 的时候

    是不是有一大串有的没的

    又不得不复制过来

    在你的 Python 中使用

    图片

    可是

    格式又不对

    每次操作很麻烦是不?

    那你可以自己写一个方法

    参数就是你复制的 header 字符串

    然后生成 header 的字典格式

    不就完事了


    六、爬取整站其实是这样的

    有时候你想爬取整个网站的url

    怎么办呢?

    不是去首页一个一个抓

    你应该找到对方的 sitemap.xml

    因为网站一般希望 Google 或者百度快点收录他们的网站

    所以他们会把自己的网站的 url 生成 sitemap 提交

    这个时候 sitemap 就包含了这个网站所有可爬取的 url

    sitemap一般在网站的根目录下

    可以在他们的 robots.txt 看看他们指定的位置

    比如猫眼电影的sitemap:

    图片

    从而获取 sitemap 再去请求里面的 url 即可!

  • 相关阅读:
    js 判断字符串中是否包含某个字符串
    MySQL批量更新数据
    js实现字符串切割并转换成对象格式保存到本地
    C#用openfiledialog文件和savefileDialog打开和保存文件
    C#中e.Cancel,e.Handled的区别与应用
    登录窗体与主窗体的关闭
    C#中WinForm程序退出方法技巧总结
    c# 如何获取项目的根目录
    C# Winform中WndProc 函数作用
    SqlDataAdapter.Update批量数据更新
  • 原文地址:https://www.cnblogs.com/testzcy/p/14390835.html
Copyright © 2011-2022 走看看