AJax技术

pyspider爬虫教程 (2):AJAX和HTTP(2)

字号+ 作者:H5之家 来源:H5之家 2017-05-14 17:03 我要评论( )

UA 是标识你使用的浏览器,或抓取程序的一段字符串。pyspider 使用的默认 UA 是 pyspider/VERSION (+)。网站常用这个字符串来区分用户的操作系统和浏览器,以及判断对方是否是爬虫。所以在抓取的时候,常常会对 UA

UA 是标识你使用的浏览器,或抓取程序的一段字符串。pyspider 使用的默认 UA 是 pyspider/VERSION (+)。网站常用这个字符串来区分用户的操作系统和浏览器,以及判断对方是否是爬虫。所以在抓取的时候,常常会对 UA 进行伪装。

在 pyspider 中,你可以通过 self.crawl(URL, headers={'User-Agent': 'pyspider'}),或者是 crawl_config = {'headers': {'User-Agent': 'xxxx'}} 来指定脚本级别的 UA。详细请查看 API 文档。

Referer

Referer 用于告诉服务器,你访问的上一个网页是什么。常常被用于防盗链,在抓取图片的时候可能会用到。

X-Requested-With

当使用 XHR 发送 AJAX 请求时会带上的 Header,常被用于判断是不是 AJAX 请求。例如在 北邮人论坛 中,你需要:

def on_start(self):            self.crawl('',                       headers={'X-Requested-With': 'XMLHttpRequest'},                       callback=self.index_page)  

带有 headers={'X-Requested-With': 'XMLHttpRequest'} 才能抓取到内容。

HTTP Cookie

虽然 Cookie 只是 HTTP Header 中的一个,但是因为非常重要,但是拿出来说一下。Cookie 被 HTTP 请求用来区分、追踪用户的身份,当你在一个网站登录的时候,就是通过写入 Cookie 字段来记录登录状态的。

当遇到需要登录的网站,你需要通过设置 Cookie 参数,来请求需要登录的内容。Cookie 可以通过开发者工具的请求面板,或者是资源面板中获得。在 pyspider 中,你也可以使用 response.cookies 获得返回的 cookie,并使用 self.crawl(URL, cookie={'key': 'value'}) 来设置请求的 Cookie 参数。

查看原文: pyspider爬虫教程 (2):AJAX和HTTP

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Javascript教程资源分享门户

    Javascript教程资源分享门户

    2017-05-15 09:09

  • 值得分享和收藏的xmlplus组件学习教程

    值得分享和收藏的xmlplus组件学习教程

    2017-05-14 13:00

  • socket.io学习教程之基础介绍(一)

    socket.io学习教程之基础介绍(一)

    2017-05-12 13:00

  • java ajax教程

    java ajax教程

    2017-05-12 08:01

网友点评
g