V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
201341
V2EX  ›  Python

scrapy 爬取知乎内容,发现获取的和原网页不一样啊,请问这是什么原因?

  •  
  •   201341 · 2017-04-05 19:53:55 +08:00 · 4911 次点击
    这是一个创建于 2795 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新手刚开始学习. https://segmentfault.com/q/1010000008939688 这里有详细描述.谢谢.
    第 1 条附言  ·  2017-04-06 13:14:15 +08:00
    此贴终结,谢谢大家热情帮助.
    15 条回复    2017-04-06 13:18:20 +08:00
    cosmic
        1
    cosmic  
       2017-04-05 19:57:45 +08:00
    这是反爬策略吧
    201341
        2
    201341  
    OP
       2017-04-05 19:59:58 +08:00
    @cosmic 用到什么策略,可以详细说说吗?还有如何解决呢?谢谢.
    sleeperqp
        3
    sleeperqp  
       2017-04-05 20:01:00 +08:00
    你可以用 chromedrive 试试 如果还是不一样 那就说明确实有反爬的问题~
    zsz
        4
    zsz  
       2017-04-05 20:18:31 +08:00 via iPhone
    可能是页面异步获取了其他内容,所以直接抓取看不到,其中策略比较多

    有问题可以加我们的群问,这样效率更高,这个群是一群工程师组建的面向初学者的 python Linux 学习群( qq 群号: 278529278 ) 非商业性质,拒绝广告,只接收真正想学这方面技术的朋友,交流学习,申请请说明来自 v2ex
    we3613040
        5
    we3613040  
       2017-04-05 20:31:56 +08:00
    好多异步请求
    201341
        6
    201341  
    OP
       2017-04-05 20:51:16 +08:00
    我也以为是异步,可是禁用 js 后的页面和我获取的页面还是不一样
    201341
        7
    201341  
    OP
       2017-04-05 20:52:00 +08:00
    201341
        8
    201341  
    OP
       2017-04-05 20:52:32 +08:00
    @sleeperqp 好的,我试试..谢谢.
    googlebot
        9
    googlebot  
       2017-04-05 22:04:32 +08:00 via Android
    javascript ,
    fffflyfish
        10
    fffflyfish  
       2017-04-05 22:53:36 +08:00
    直接抓现成的 json 包,伪装客户端发包
    killerv
        11
    killerv  
       2017-04-06 10:09:13 +08:00
    你说的原网页是指的网页源代码还是审查元素?审查元素的代码是经过 js 渲染过的,不一样是很正常的,这个要以网页源代码的为标准,如果网页源代码和爬虫爬的不一样,另说,有可能是防爬。
    201341
        12
    201341  
    OP
       2017-04-06 11:09:52 +08:00
    @killerv 网页源代码不一样...主要是一个 css 文件不一样,结果导致我写的 xpath 和 response.css 全部为空...这种是防爬吗?
    killerv
        13
    killerv  
       2017-04-06 11:43:55 +08:00
    @201341 应该是防爬了,防爬一般来就是根据 header 和 cookie 下文章,再有就是根据 ip 频率
    201341
        14
    201341  
    OP
       2017-04-06 13:13:23 +08:00
    @killerv 不是防爬,还是 js 问题,我用 selenium+Phantomjs 成功解决.
    killerv
        15
    killerv  
       2017-04-06 13:18:20 +08:00
    @201341 如果是 js 问题,那么网页源代码和你抓取的应该是一样的,你用 Phantomjs ,还是因为有些 dom 是 js 动态生成的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2653 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 04:20 · PVG 12:20 · LAX 20:20 · JFK 23:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.