liangmishi
V2EX  ›  Python

开始学 vue,尝试着用 requests.get() 去爬自己写的网页,然后什么都爬不到

By liangmishi at 2016 年 8 月 25 日 · 9212 次点击
这种情况各位大大是如何解决的?
不用 selenium 等库,就用 requests 可有办法 ?
22 条回复  •  2016-08-26 23:47:32 +08:00
ljcarsenal
   1
ljcarsenal  
   2016 年 8 月 25 日
你在页面上 ctrl+u 看到的是什么样的内容 爬虫爬到的就是什么样的内容
eromoe
   2
eromoe  
   2016 年 8 月 25 日
纯 js 网站就是这样啊,我记得好像可以用 pyv8 运行 js ,但是文档很不完善,基本就是坑
liangmishi
   3
liangmishi  
OP
   2016 年 8 月 25 日
@ljcarsenal 确实如此

@eromoe 那只能使用 selenium 之类的库了,但是效率很低
chairuosen
   4
chairuosen  
   2016 年 8 月 25 日
用 vue2.0 的 server-side renderer
foomorrow
   5
foomorrow  
   2016 年 8 月 25 日
phantomjs
eromoe
   6
eromoe  
   2016 年 8 月 25 日
@foomorrow
纯 python 就是 selenium +webdriver(phantomjs), 要不还要学 phantomjs (虽然也不难,不过也有些坑)
isbase
   7
isbase  
PRO
   2016 年 8 月 25 日   ❤️ 2
推荐 nightmare
iamsgg
   8
iamsgg  
   2016 年 8 月 25 日
有的网站看来路,来路不对不返回内容。
liangmishi
   9
liangmishi  
OP
   2016 年 8 月 25 日
@eromoe 学了一段时间 phantomjs ,感觉文档不多,学着累

@isbase 感谢~
@iamsgg 来路一般是看是否有 User-Agent 吧
holajamc
   10
holajamc  
   2016 年 8 月 25 日
可以试试 httplib2 ,我觉得这玩意儿就是 Python 下的 HTTP 请求的王者, Selenium+PhantomJS 的话效率惨不忍睹,但是十分方便,多线程呗~
tumb8r
   11
tumb8r  
   2016 年 8 月 25 日
ajax??不返回 json ?
ericls
   12
ericls  
   2016 年 8 月 25 日 via iPhone
直接爬接口不是更方便 直接 parse json
pncltp
   13
pncltp  
   2016 年 8 月 26 日 via iPhone
爬虫请用 scrapy 今天都说第二遍了。
WildCat
   14
WildCat  
   2016 年 8 月 26 日
@liangmishi nightmare 完爆 phantomjs
csy123
   15
csy123  
   2016 年 8 月 26 日
@pncltp scrapy 能爬全 js 的网站?
pncltp
   16
pncltp  
   2016 年 8 月 26 日 via iPhone
@csy123 这个 js 没有关系啊, http 无非就 get 和 post 。如果你说的是 json ,解析他的库实在太多。
killerv
   17
killerv  
   2016 年 8 月 26 日
这种调接口的更好爬吧,你要是解析页面当然是没有数据……
liangmishi
   18
liangmishi  
OP
   2016 年 8 月 26 日
@holajamc 多线程的话也是内存可能会不够,所以这代价还是蛮大的

@pncltp 这和用不用 scrapy 没关系吧?

@tumb8r
@ericls 如果有接口当然是用接口方便,有时候没有
holajamc
   19
holajamc  
   2016 年 8 月 26 日 via Android
不会太占内存,毕竟 Headless , 10 个线程绝对能够应付
ericls
   20
ericls  
   2016 年 8 月 26 日
@liangmishi 如果没有接口那数据哪里来的
liangmishi
   21
liangmishi  
OP
   2016 年 8 月 26 日
@holajamc 改天试试~谢谢

@ericls 假如有这样一个场景,我所访问的网页是返回了一段 js 代码,只有执行了这段代码才能知道跳转到哪里,那这时候只能去执行 js 代码了
ericls
   22
ericls  
   2016 年 8 月 26 日
@liangmishi 你也可以翻译这段代码
推荐学习书目
› 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
© 2026 V2EX · 62ms · 3.9.8.5