python2+selenium爬取笔趣读小说

python2+selenium爬取笔趣读小说python2+selenium爬取笔趣读小说 #!/usr/bin/envpython#coding=utf-8fromseleniumimportwebdriverimporttimefrombs4importBeaut…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

#! /usr/bin/env python
#coding=utf-8

from selenium import webdriver
import time
from bs4 import BeautifulSoup

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

browser = webdriver.Firefox()

#获取文章标题和内容,并写入文档
def get_article():
    title = browser.find_element_by_xpath('//div[@class="bookname"]/h1').text
    print title

    content = browser.find_element_by_id('content').text
    #print content

    with open ('storytudou.txt', 'a') as f:
        f.write(title + '\n')
        f.write(content + '\n\n')

#获取该本小说共有多少章
def page_num():
    browser.get("https://www.biqudu.net/31_31729/")
    html = browser.page_source
    soup = BeautifulSoup(html, 'lxml')
    dd = soup.find_all('dd')
    #print dd    
    page = len(dd)
    return page

#点击下一章
def index_page(i):
    if i == 1:
        browser.get("https://www.biqudu.net/31_31729/2212637.html")
        time.sleep(10)
    get_article()
    js = "window.scrollTo(0,document.body.scrollHeight)"
    browser.execute_script(js)
    time.sleep(5)    
    next_p = browser.find_element_by_xpath('//div[@class="bottem2"]/a[3]')
    #next_p = browser.find_element_by_xpath('/html/body/div/div[5]/div[2]/div[5]/a[3]')
    time.sleep(5)
    next_p.click()
    time.sleep(10)

 #遍历小说全部章节       
def main():
    page = page_num()
    print(page)
    for i in range(1, page+1):
        index_page(i)
        
if __name__ == '__main__':
    
    main()
        

Jetbrains全家桶1年46,售后保障稳定

系统:ubuntu

需要的安装BeautifulSoup

yanner@yanner-VirtualBox:~$ sudo apt-get install python-bs4

说明:

Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象;

soup.find_all(‘dd’)  获取所有的P标签,返回一个列表,类型为’bs4.element.Tag’。

posted on
2019-08-20 15:01 
yanner 阅读(
) 评论(
)
编辑 收藏

转载于:https://www.cnblogs.com/yanner/p/11382946.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200894.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java面试宝典(超级详细)「建议收藏」

    一、Java基础1.JDK和JRE有什么区别?JDK:JavaDevelopmentKit的简称,java开发工具包,提供了java的开发环境和运行环境。JRE:JavaRuntimeEnvironment的简称,java运行环境,为java的运行提供了所需环境。具体来说JDK其实包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具。简单来说:如果你需要运行java程序,只需安装JRE就可

    2022年4月5日
    43
  • 初识公有云和私有云

    初识公有云和私有云最近刚开始接触云,粗浅记录下来自己的学习。第一个问题:什么是云计算?第二个问题:为什么要上云?第三个问题:公有云和私有云有什么区别,应该怎么选?云计算,是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。【百度百科】举例来讲,建立一个超级数据中心,提高算力,达到普通电脑无法企及的每秒10万亿次的运算能力,一般用户在付费后则可通过

    2022年6月25日
    26
  • jmeter+ant+jenkins实现自动化接口集成测试框架下载,build.xml下载

    jmeter+ant+jenkins实现自动化接口集成测试框架下载,build.xml下载

    2021年9月18日
    44
  • plsql developer配置数据库连接_plsql使用教程

    plsql developer配置数据库连接_plsql使用教程一、概念PL/SQLDeveloper是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了OracleServer,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQLDeveloper侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。Oracle数据库并不提供图形界面的开发…

    2022年9月25日
    2
  • 软件工程导论(第六版) 思维导图全[通俗易懂]

    软件工程导论(第六版) 思维导图全[通俗易懂]软件工程导论(第六版)思维导图全软件工程软件工程概述可行性研究需求分析总体设计详细设计实现维护面…

    2025年6月6日
    2
  • Avro介绍[通俗易懂]

    Avro介绍[通俗易懂]ApacheAvro是一个数据序列化系统。Avro所提供的属性:1.丰富的数据结构2.使用快速的压缩二进制数据格式3.提供容器文件用于持久化数据4.远程过程调用RPC5.简单的动态语言结合功能,Avro和动态语言结合后,读写数据文件和使用RPC协议都不需要生成代码,而代码生成作为一种可选的优化只值得在静态类型语言中实现。Avro的SchemaAvro的Schema用…

    2025年5月23日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号