免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6654 | 回复: 1
打印 上一主题 下一主题

有没有人试过 scrapy + webkit [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-08-09 13:43 |只看该作者 |倒序浏览
我在 middlewares.py中添加
  1. class WebkitDownloader( object ):
  2. 52     def process_request( self, request, spider ):
  3. 53         if spider.name in settings.WEBKIT_DOWNLOADER:
  4. 54             if(type(request) is not FormRequest ):
  5. 55                 webview = webkit.WebView()
  6. 56                 webview.connect( 'load-finished', lambda v,f: gtk.main_quit() )
  7. 57                 webview.load_uri( request.url )
  8. 58                 gtk.main()
  9. 59                 js = jswebkit.JSContext( webview.get_main_frame().get_global_context() )
  10. 60                 renderedBody = str( js.EvaluateScript( 'document.body.innerHTML' ) )
  11. 61                 return HtmlResponse( request.url, body=renderedBody )
复制代码
在settings.py中添加
  1. DOWNLOADER_MIDDLEWARES = {
  2. 31 #    'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware': None,
  3. 32 #    'search_spider.middlewares.ProxyMiddleware': 100,
  4. 33     'scrapy.contrib.downloadermiddleware.useragent.UserAgentMiddleware': None,
  5. 34     'taobao.middlewares.WebkitDownloader': 543,    //按网上说的,新添的
  6. 35     'taobao.middlewares.UserAgentMiddleware': 400,
  7. 36     }

  8. WEBKIT_DOWNLOADLER=['taobao_spider']
  9. 52 import os
  10. 53 os.environ["DISPLAY"] = ":0"
复制代码
然后用 scrapy crawl taobao_spider
直接退出了 , 什么输出都没,不知道怎么搞得?
有谁用过 scrapy + webkit处理过 js动态生成的DOM结点, 然后抓取数据经验的,或者其他有效方法,欢迎提出,感激不尽!!!

论坛徽章:
0
2 [报告]
发表于 2013-08-10 18:49 |只看该作者
什么js,都扯淡,还不是用浏览器 的审查元素, 拼出url
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP