受导师要求,小的最近在爬百度知道上的问题= =遇到一点小问题,所以来求教大 V 们
大家都了解百度的尿性,他的防蔽屏手段就是用 js 把搞乱的文字解析回来,具体原理我也没弄明白,于是就想直接解析他的 js ,然后就出现了一点小问题
当我对于一个问题反复请求时就会触发屏蔽机制,得到如下的字符串
A. 风化作用——冰川 U 形谷 B 沪弧高旧薨搅胳些供氓. 侵蚀作用——喀斯特地貌 C. 搬运作用——沙丘、戈壁 D. 沉积作用——河流、峡谷
可见他把字符搞乱了,此外我还发现过语句顺序方面的错误,或者 404 ,而这些在加载 js 的时候页面显示是正常的。
然后我用 selenium 解析,我尝试 100 次,但是在这 100 次中第一次总是乱码,跟没解析一样,之后都正常
0 A. 风化作用——冰川 U 形谷 B 沪弧高旧薨搅胳些供氓. 侵蚀作用——喀斯特地貌 C. 搬运作用——沙丘、戈壁 D. 沉积作用——河流、峡谷
1 A. 风化作用——冰川 U 形谷 B. 侵蚀作用——喀斯特地貌 C. 搬运作用——沙丘、戈壁 D. 沉积作用——河流、峡谷
但是我总不能在爬的时候对一个链接都访问两次啊,,求各位大神指教啊!!!
我的代码
driver = webdriver.PhantomJS(desired_capabilities=dcap)
for i in range(100):
driver.get("
http://zhidao.baidu.com/question/1819540104107061868.html")
with open(str(i)+'.html', 'w') as f:
f.write(driver.page_source)
try:
print i, driver.find_element_by_xpath('//*[@id="question-content"]/div/div').text
except Exception, e:
print driver.current_url
time.sleep(1)
driver.quit()
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/284785
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.