受导师要求,小的最近在爬百度知道上的问题= =遇到一点小问题,所以来求教大 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()
大家都了解百度的尿性,他的防蔽屏手段就是用 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()