51Testing软件测试论坛

标题: Python selenium爬取某文库的文本内容有残缺 [打印本页]

作者: 测试积点老人    时间: 2021-10-21 10:21
标题: Python selenium爬取某文库的文本内容有残缺
背景如题,代码如下:
  1. from selenium import webdriver
  2. import time
  3. driver = webdriver.Chrome()
  4. driver.get('https://wenku.baidu.com/view/83a62ad5316c1eb91a37f111f18583d048640f3c')
  5. time.sleep(5)
  6. elements=driver.find_elements_by_class_name('read-all')#继续阅读
  7. element=elements[0]
  8. element.click()
  9. time.sleep(5)
  10. yhm=driver.find_elements_by_css_selector('#TANGRAM__PSP_11__footerULoginBtn')#用户名登录
  11. yhmd=yhm[0]
  12. yhmd.click()
  13. yh=driver.find_elements_by_css_selector('#TANGRAM__PSP_11__userName')#用户名
  14. yh=yh[0]
  15. yh.send_keys('账号')
  16. mm=driver.find_elements_by_css_selector('#TANGRAM__PSP_11__password')#密码
  17. mm=mm[0]
  18. mm.send_keys('密码')
  19. dl=driver.find_elements_by_css_selector('#TANGRAM__PSP_11__submit')#点击登录按钮
  20. dl=dl[0]
  21. dl.click()
  22. time.sleep(10)
  23. gk=driver.find_elements_by_class_name('close-btn.default-bg')#关闭广告
  24. gkc=gk[0]
  25. gkc.click()
  26. time.sleep(5)
  27. driver.execute_script('window.scrollBy(0,200)')#特殊
  28. zc=driver.find_elements_by_class_name('read-all')#再次点击继续阅读
  29. zcc=zc[0]
  30. driver.execute_script("arguments[0].click();",zcc)#特殊,以及这个点击形式能不能变得传统
  31. xt=driver.find_elements_by_class_name('reader-word-layer')#爬取文章内容
  32. xt2=[str(i.text) for i in xt]
  33. print(''.join(xt2))
  34. 这个代码遇到图片旋转验证的时候需要手动操作
复制代码
到参训单位都没问题,之后的内容就不行了
[attach]134887[/attach]

作者: 心中所想    时间: 2021-10-22 09:30
可以手动操作一遍,查看sj加载后有没有全部的文本数据,没有的只能每点击一次存储一次,或抓取动态请求的文本url,生成URL,再次请求(用requests也行快一点)一般有sj加密。
作者: qqq911    时间: 2021-10-22 10:44
网页上操作试试
作者: 海海豚    时间: 2021-10-22 11:23
是之后的内容都没有爬下来吗,对比一下两部分内容的区别




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2