V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
oceantree
V2EX  ›  分享发现

[爬虫教程] 教你如何在一天内学会写爬虫

  •  
  •   oceantree · 2016-07-23 15:40:41 +08:00 · 3990 次点击
    这是一个创建于 3071 天前的主题,其中的信息可能已经有所发展或是发生改变。

    [文档目录]

    1. 第一个 demo
    2. configs 详解——之成员
    3. configs 详解——之 field
    4. configs 详解——之 site, page 和 console
    5. configs 详解——之回调函数
    6. 爬虫进阶开发——之内置函数
    7. 爬虫进阶开发——之模板化
    8. 爬虫进阶开发——之图片云托管
    9. 爬虫进阶开发——之自动 IP 代理
    10. 爬虫进阶开发——之验证码识别
    11. 爬虫进阶开发——之自动 JS 渲染
    12. 爬虫进阶开发——之技巧篇
    13. 两个完整 demo
    14. 开发爬虫的常用工具
    15. 常见问题

    ​ [ JS 爬虫]

    这是一个 JS 爬虫,一天之内认真读完的话,就可以根据 demo 自己写出简单的爬虫来了,可以试下

    [常见问题]

    鉴于内容很长,先把爬虫开发一些常见的问题放在这给大家参考:

    A : domains 定义爬虫爬取指定域名下的网页,非域名下的 url 会被忽略,可提高爬取速度。

    值得注意,如果 scanUrls , contentUrls 和 helperUrls 不在 domains 包含的域名范围内,那么爬虫将无法爬取到数据。

    Q :为什么 contentUrlRegexes 和 helperUrlRegexes 正则表达式中的转义字符要加双反斜杠\?

    A :因为 contentUrlRegexes 和 helperUrlRegexes 的每个正则表达式都是字符串类型,如下所示:

    contentUrlRegexes: ["http://wallstreetcn\.com/node/\d+"], helperUrlRegexes: ["http://wallstreetcn\.com/news(\?/page=\d+)?"], 在 JS 语法中规定若正则表达式以字符串形式表示,其中的转义字符需加双反斜杠。

    Q :为什么我的爬虫爬取到的图片都是裂图或网站默认图?

    A :首先,检查你的任务配置中是否勾选了“自动缓存图片”,我们建议勾选上,因为这样做,无论你要爬取的网站图片是否加了“防盗链”,我们的系统都会帮你把图片缓存到神箭手云服务器上;

    然后,判断需要爬取的图片 url 的后缀名是不是 jpg , jpeg , png 或 gif 。如果是,请耐心等待几分钟,因为我们的图片缓存服务器还在努力下载图片中。

    Q :为什么我一定要将爬取到的文章发布时间转换成 Unix 时间戳?

    A :当发布文章或问答到网站时,需要通过我们提供的发布插件进行发布,而我们的发布插件对发布时间有特殊要求,需要 Unix 时间戳。

    值得注意,如果爬取的数据不需要发布到网站,则不用对时间做处理。

    Q :我想按网站分类爬取文章,为什么爬到的数据中总是包含其他分类的文章?

    A :爬取到的文章不够精准,说明你的 contentUrlRegexes 或 helperUrlRegexes 中的正则表达式有问题,匹配了其他分类的 contentUrl (内容页 url )或 helperUrl (列表页 url ),请仔细检查并进行修改。

    Q :为什么我爬取的网页数据中有很多无用 html 标签,怎么处理?

    A :爬取的数据中包含无用 html 标签,原因可能是,你写的 XPath 不够精确,抽取的内容中包含了很多无用 html 标签。如果无法通过 XPath 来解决,请考如何去掉网页中的广告。

    Q :如何爬一个有反爬虫的网站?

    A :在 configs 对象中添加 enableProxy: true ,就能使用我们平台提供的 IP 代理服务了。

    [完整内容]

    爬虫知识大全完整部分详见此博文: http://www.cnblogs.com/destim/p/5540993.html

    1 条回复    2016-11-28 14:12:57 +08:00
    av1254
        1
    av1254  
       2016-11-28 14:12:57 +08:00
    大兄弟,找不到页面了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3085 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 13:13 · PVG 21:13 · LAX 05:13 · JFK 08:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.