[文档目录]
[ 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