爬百度文库的

本文介绍了一个简单的Python爬虫项目,利用Selenium库实现对百度文库中指定文档的自动化爬取,并将每页内容保存为Word文档。该爬虫通过模拟用户浏览行为,逐页抓取文档的文字内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个菜鸟的爬!主要是之前写那个公选课找资料的时候,百度文档连复制都不给我复制!然后就当学习以下自动化测试,和python,花了一天[捂脸][捂脸]。


python selenium 一页一页爬的,不会太多东西,只能文字,还没有颜色区别。源码也没用函数,没有后续了。。


参考了网上的代码的思路,应该是懒加载的原因,不能一次爬全部,就一页一页爬了

#获取全文
import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains


driver=webdriver.Firefox()
#driver.get(r'https://wenku.baidu.com/view/aa31a84bcf84b9d528ea7a2c.html')
#driver.get(r'https://wenku.baidu.com/view/4f22ff236294dd88d1d26bbc.html?from=search')
driver.get(r'https://wenku.baidu.com/view/12132c85f7ec4afe05a1dfa4.html')

#将页面下拉到4000,大概的一个值,很有可能错误


more_read=driver.find_elements_by_class_name("banner-more-btn")
if len(more_read)!=0:
    js="var q=document.documentElement.scrollTop=4000"
    driver.execute_script(js)
    time.sleep(1)
    btn=driver.find_element_by_class_name("banner-more-btn")
    ActionChains(driver).click(btn).perform()

#写入文本
import docx
from docx.oxml.ns import qn


file=docx.Document()


pcount=int(driver.find_element_by_class_name('page-count').text.replace("/",""))
pcount
for i in range(1,pcount+1):
    driver.find_element_by_class_name('page-input').clear()
    driver.find_element_by_class_name('page-input').send_keys(str(i)+"\n")

    content=driver.find_element_by_id("pageNo-"+str(i))
    content.text
    content1=content.text.replace('\n','')
    content2=content1.split('  ')
    while '' in content2:
        content2.remove('')
    for i in content2:
        file.add_paragraph(i)
        file.styles['Normal'].font.name=u'宋体'
        file.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

file.save("D:\\test.docx")
print("ok")
然后github地址: github
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值