真是太白了,python之路还有很长,今天我从这里开始,留作自己备忘。2018-04-05

花了一个下午学习个爬小说的,总的来说是因为自己没什么基础,哪里不会补哪里,磕磕绊绊的,总算是能运行,先把代码放这里,以后请教高手帮助解决一下。

# -*- coding: utf-8 -*-
# @Time    : 2018/4/5  13:46
# @Author  : ELEVEN
# @File    : crawerl--小说网.py
# @Software: PyCharm
import requests
import re
import time
import osheader = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:59.0) Gecko/20100101 Firefox/59.0'
}def get_type_list(i):url = 'http://www.quanshuwang.com/list/{}_1.html'.format(i)html = requests.get(url, headers = header)html.encoding = 'gbk'html = html.text# print(html)# lis = re.findall(r'<ul class="seeWell cf">.*?<ul>', html, re.S)# lis = re.findall(r'<li><a target="_blank" href="(.*?)" class="l mr10">', html, re.S)novel_list = re.findall(r'<a target="_blank" title="(.*?)" href="(.*?)" class="clearfix stitle">', html, re.S)return novel_listdef get_chapter_list(type_url):html = requests.get(type_url, headers = header)html.encoding = 'gbk'html = html.textnovel_chapter_html = re.findall(r'<img src="/kukuku/images/only2.png" class="leftso png_bg"><a href="(.*?)"  class="l mr11">', html, re.S)[0]html = requests.get(novel_chapter_html)html.encoding = 'gbk'html = html.textnovel_chapter = \re.findall(r'<li><a href="(http://www.quanshuwang.com/book/.*?)" title=".*?">(.*?)</a></li>', html,re.S)# print(novel_chapter)# exit()return novel_chapter
def get_chapter_info(chapter_url):html = requests.get(chapter_url, headers = header)html.encoding = 'gbk'html = html.text# print(html)# exit()chapter_info = re.findall(r'<div class="mainContenr".*?</script>(.*?)<script.*?</script></div>', html, re.S)[0]# print(chapter_info)# exit()return chapter_infoif __name__ == '__main__':sort_dict = {1:'玄幻魔法',2:'武侠修真',3:'纯爱耽美',4:'都市言情',5:'职场校园',6:'穿越重生',7:'历史军事',8:'网游动漫',9:'恐怖灵异',10:'科幻小说',11:'美文名著'
}try:if not os.path.exists('全书网'):os.mkdir('全书网')for sort_id, sort_name in sort_dict.items():if not os.path.exists('%s/%s'%('全书网', sort_name)):os.mkdir('%s/%s'%('全书网', sort_name))# print('分类名称:', sort_name)for type_name,type_url in get_type_list(sort_id):# print(type_name, type_url)# if not os.path.exists('%s/%s/%s.txt'%('全书网', sort_name, type_name)):#     os.mkdir('%s/%s/%s.txt'%('全书网', sort_name, type_name))for chapter_url, chapter_name in get_chapter_list(type_url):  # [::-1]代表列表反向输出# print(chapter_url, chapter_name, chapter_time)# print(get_chapter_info(chapter_url))with open('%s/%s/%s.txt'%('全书网', sort_name, type_name), 'a') as f:print('正在保存...',chapter_name)f.write('\n' + chapter_name + '\n')f.write(get_chapter_info(chapter_url))except OSError as reason:print('wrong')print('问题原因是%s'%str(reason))

没解决的问题:

1、问题原因:('Connection aborted.', RemoteDisconnected('Remote end closed connection without response',))

自己分析:可能是因为反复访问服务器,服务器认为我是机器人,被反爬了,文件头也有换,爬个几本小说就会出错。

解决结果:没有解决。

转载于:https://www.cnblogs.com/AAA-AAA-AAA/p/8723482.html

跟潭州学院的强子老师学习网络爬虫---爬取全书网相关推荐

  1. python学习笔记爬虫——爬取智联招聘信息

    目的:自己输入指定地方,指定职业,起始页数,程序会自动打印页面的所有信息. 实现过程:这次程序的代码跟以往的都不一样,这次也是我第一次使用面向对象式编程,并且并不是分析网页代码,分析json字符串得到 ...

  2. Jsoup学习 JAVA爬虫爬取美女网站 JAVA爬虫爬取美图网站 爬虫

    最近对爬虫起了兴趣,但是网上都说做爬虫最好得语言是py.但是我只会java,所以就想能不能用java实现一个爬虫,百度搜索发现,其实java也有很多优秀得开源爬虫框架,包括Gecco,webmagic ...

  3. 爬虫爬评书吧_爬虫学习:xpath爬取评书网

    在家闲着,想找点评书听,但找了很久都没找到方便打包下载的地方.于是就拿起自学的python爬虫,自己动手丰衣足食. 运行环境:Windows7,python3.7 操作步骤: 1.打开选好的评书主页面 ...

  4. Python爬虫学习---------使用beautifulSoup4爬取名言网

    爬取名言网top10标签对应的名言,并存储到mysql中,字段(名言,作者,标签) #! /usr/bin/python3 # -*- coding:utf-8 -*-from urllib.requ ...

  5. 重磅:DDN携手潭州学院,全面开启区块链3.0——人才输出、应用落地时代!

    重磅:DDN携手潭州学院,全面开启区块链3.0--人才输出.应用落地时代! 4月17日,"大世所区"潭州教育ITSTAR区块链学院成立仪式在湖南长沙市五强商务中心举行. 左一:朱志 ...

  6. Python学习网络爬虫--转

    原文地址:https://github.com/lining0806/PythonSpiderNotes Python学习网络爬虫主要分3个大的版块:抓取,分析,存储 另外,比较常用的爬虫框架Scra ...

  7. Python学习笔记:爬取网页图片

    Python学习笔记:爬取网页图片 上次我们利用requests与BeautifulSoup爬取了豆瓣<下町火箭>短评,这次我们来学习爬取网页图片. 比如想爬取下面这张网页的所有图片.网址 ...

  8. python爬虫学习 之 定向爬取 淘宝商品价格

    python爬虫学习 之 定向爬取 淘宝商品价格 import requests import redef getHTMLText(url):try:r = requests.get(url, tim ...

  9. 【记录爬虫实战过程】入门学习·详细过程·爬取天气信息并通过pyecharts进行可视化展示1

    文章目录 前言 正文 1.导入对应模块 2.确定爬取的网站 3.得到数据 4.数据处理 5.将所得数据写入CSV 完整代码 补充:数据可视化 前言 入门学习这个部分是跟着b站教学视频做的,记录了所有过 ...

最新文章

  1. nginx进阶-动静分离,负载均衡
  2. 配置事务springmvc3.1 mybatis 3.1 事务不起作用
  3. ALV 简单实现HTML抬头的方法 (介绍 一)
  4. codeforces 的一些数学题
  5. 设计进步,记一笔,控制层的代码,他不光控制还要校验数据!以前理解错啦
  6. 腾讯AI Lab开源大规模高质量中文词向量数据,800万中文词随你用
  7. 刚刚,OpenStack 第 19 个版本来了,附28项特性详细解读!
  8. 几款经典好用的Android,经典实用 Android十款生活必备软件推荐
  9. 这里有最全的C++工程师的技术需求,你要做哪方面的开发?
  10. oracle和sql server中,取前10条数据语法的区别
  11. bzoj 1690: [Usaco2007 Dec]奶牛的旅行(01分数规划--最优比率环)
  12. 逻辑分析题汇总(一)
  13. Unity2017探究Layout布局
  14. ios点击推送闪退_越狱后改造iOS系统 Cydia篇
  15. 蒙牛新品来了,小明纯牛奶透明袋
  16. 针式打印机打印显示传真服务器,针式打印机怎么设置【图文详解】
  17. 银河麒麟V10安装虚拟机
  18. C语言-让生活更美好
  19. kibana 搜索语法
  20. ceph clock skew detected on mon

热门文章

  1. 【JSOI2018】潜入行动
  2. 蚂蚁运花生的案例[转]
  3. 研报解读:用友U9领航,高端ERP市场成为新蓝海
  4. 分享12款优秀的在线文件格式转换工具
  5. 编译Floodlight报错:Compile failed; see the compiler error output for det([javac] javac: 无效的目标发行版: 1.8)
  6. UBUNTU install
  7. 【AI绘画 | draft意间】国产draft推荐及AI绘画背后的原理解读
  8. CpG ODN——艾美捷ODN 1826 (TLRGRADE)说明书
  9. selenium爬取巨潮资讯指定领域下所有上市公司的数据并存储到csv文件
  10. 我在深圳这10年,历经的房价和我买房的故事