文章目录
说在前面的话:
本篇笔记准确地说应该是一篇改进版文章。
其来源于:Python爬取某库并存储为word文档
本文所爬取的文章url:简述基于MATLAB的循环码编译码器设计与仿真胡鑫
需要注意的是,源码中加入很多 time.sleep() 语句,其目的是防止被封IP,即更好的将机器伪装成人为操作。所以,在运行时速度缓慢,请在没有出现报错时,耐心等待。
如若侵权,联系即删
一、源码展示:
这是作者 鹏鹏写代码 文章中的源代码,当我们在运行时,会出现如下图所示的报错:
注:在运行时,我们除了所使用代码中的库时,还需用用到一个软件,即 chromedriver.exe。这是在使用 selenium 必备的。
其具体安装使用情况,详见:Pycharm中错误 ‘chromedriver‘ executable needs to be in PATH 解决
"""author
鹏鹏写代码
"""
import pandas
import selenium
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from docx.oxml.ns import qn # 中文格式
from docx import Document ##需要安装第三方库python-docx
from docx.shared import Pt # 用于设置字体样式
import time
driver = webdriver.Chrome("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe")
driver.get("http://wenku.baidu.com/view/9f9765542d60ddccda38376baf1ffc4fff47e26c")
time.sleep(5)
#为了避免百度页面变为旧版页面,需要刷新
driver.refresh()
time.sleep(2)
driver.execute_script("window.scrollTo(0,4004)"); #跳转到页面“阅读所有页面”的位置
driver.find_element_by_xpath("//div[@class='fold-page-text']").click() #点击“阅读所有页面“
driver.execute_script("window.scrollTo(0,400)"); ####跳转到页面初始位置
#得到当前总页面
all_page = driver.find_element_by_xpath("//div[@class='goto-page']").text.replace("/ ", "")
result_text = ""
i = 1
while (i <= int(all_page)):
driver.find_element_by_xpath("//input[@class='cur-page']").clear() #清除输入值
driver.find_element_by_xpath("//input[@class='cur-page']").send_keys(i) #设置跳转页面编号
driver.find_element_by_xpath("//input[@class='cur-page']").send_keys(Keys.ENTER, '\ue007') # 回车键
time.sleep(2)
result_text = result_text + driver.find_element_by_xpath("//div[@id='pageNo-{0}']".format(i)).text #得到页面的文本
time.sleep(2)
i += 1
result_text = result_text.replace("\n", "")
zf = 0
while zf <= 9:
s = str(zf) +