爬虫爬取《全职法师》并保存到本地

同学想看全职法师,但是又不想看广告 让我帮他写一个爬虫~~

首先找一个看起来很好爬的网站:https://www.50zw.co/

找到全职法师,遇到的第一个问题就是编码的问题,明明网站上显示是utf-8,但是爬下来就是乱码,hin奇怪

折腾许久,终于找到解决方法:

    r=requests.get(url)
    r.encoding=‘gb2312‘#解决中文不能正常显示

现在终于可以愉快的爬虫了

这里还有一个问题,就是爬下来的数据将每一段的换行符认成了乱码:

    

我看它网站的结构相当清晰,那就直接用这个当正则好了~~

然后是页面跳转,这个也很简单,我发现它最后一章的“下一章”是跳转到小说的首页上的,所以直接加一个while循环就好了~~

最后是写到文件里,这里直接用with open打开,然后把每一个正则出来的元素写进去就好了

直接上代码吧:

import re
import requests
url="https://www.50zw.co/book_23635/10153020.html"
while url!="https://www.50zw.co/book_23635/":
    h="<h1>(.+?)</h1>"
    r=requests.get(url)
    r.encoding=‘gb2312‘#解决中文不能正常显示
    #print(r.text)
    hh=re.findall(h,r.text)
    print(hh[0])
    maintxt="""&nbsp;&nbsp;&nbsp;&nbsp;(.+?)<br />"""
    nexturl="""<a href="(.+?)" class=‘next pager_next‘>下一章</a>"""
    nurl=re.findall(nexturl,r.text)
    texts=re.findall(maintxt,r.text,re.DOTALL)
    url=nurl[0]
    #print(texts)
    with open("全职法师.txt",‘a‘,encoding=‘utf-8‘) as f:
        f.write(hh[0]+‘\n‘)
        for i in texts:
            f.write("    "+i+‘\n‘)
        print(hh[0],"success!")

原文地址:https://www.cnblogs.com/dyhaohaoxuexi/p/11644319.html

时间: 2024-07-30 22:33:43

爬虫爬取《全职法师》并保存到本地的相关文章

Python爬虫爬取博客园并保存

Python爬虫爬取博客园并保存        爬取博客园指定用户的文章修饰后全部保存到本地 首先定义爬取的模块文件: crawlers_main.py 执行入口 url_manager.py url管理器 download_manager.py 下载模块 parser_manager.py html解析器(解析html需要利用的内容) output_manager.py 输出html网页全部内容文件(包括css,png,js等) crawlers_main.py 执行入口 1 # coding

Python爬虫爬取腾讯视频动漫专区的动漫及其描述

闲来无事爬点动漫资讯看看 下面这个是腾讯视频动漫板块的超链接 [https://v.qq.com/channel/cartoon?listpage=1&channel=cartoon&iarea=1] 上面的红框中第一个是动漫的标题,第二个是动漫的咨询简单描述 如何用Python爬取上述信息 首先要用浏览器的开发者工具查到相应的信息实在那几个html文件中 上面的红框中就是对应的标签,但我们用正则表达式取标签的时候应该尽量取它的上一层标签(因为如果单单取名字标签,很难把对应的描述最后对应起

用Python爬虫爬取广州大学教务系统的成绩(内网访问)

用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code] 在{}之前的部分就是"选择器"."选择器"指明了{}中的"样式"的作用对象,也就是"样式"作用于网页中的哪些元素.可参考:http://www.w3school.com.cn/cssref/css_selectors.asph

python爬虫—爬取英文名以及正则表达式的介绍

python爬虫—爬取英文名以及正则表达式的介绍 爬取英文名: 一.  爬虫模块详细设计 (1)整体思路 对于本次爬取英文名数据的爬虫实现,我的思路是先将A-Z所有英文名的连接爬取出来,保存在一个csv文件中:再读取csv文件当中的每个英文名链接,采用循环的方法读取每一个英文名链接,根据每个英文名链接爬取每个链接中的数据,保存在新的csv文件当中. 需要写一个爬取英文名链接的函数.将爬取的内容保存在csv文件的函数以及读取csv文件内容的函数.爬取英文名详情页内容的函数. 表5.3.1 函数名

python爬虫爬取csdn博客专家所有博客内容

python爬虫爬取csdn博客专家所有博客内容: 全部过程采取自动识别与抓取,抓取结果是将一个博主的所有 文章存放在以其名字命名的文件内,代码如下 结果如下: 版权声明:本文为博主原创文章,未经博主允许不得转载.

python爬虫爬取美女图片

python 爬虫爬取美女图片 #coding=utf-8 import urllib import re import os import time import threading def getHtml(url): page = urllib.urlopen(url) html = page.read() return html def getImgUrl(html,src): srcre = re.compile(src) srclist = re.findall(srcre,html)

如何防止网站被爬虫爬取的几种办法

如何防止网站被爬虫爬取的几种办法 小 中 大 chen 2013-10-08 23:26 Linux 547 次浏览 抢沙发 今天想对一个问题进行分析和讨论,就是关于爬虫对网站页面爬取的问题,有些网站通过爬虫去采集其它的网站页面信息作为己用,大量的爬取行为会对web服务器有比较性能有影响,主要的表现就是会变得很慢. 对于如何防止网站被爬取,我想从以下几种方法去分析: 1.基于程序本身去防止爬取:作为爬虫程序,爬取行为是对页面的源文件爬取,如爬取静态页面的html代码,可以用jquery去模仿写h

Python编写网页爬虫爬取oj上的代码信息

OJ升级,代码可能会丢失. 所以要事先备份. 一开始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启发和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 python2.7版本, 试了一下修改到3.0版本, 要做很多包的更替,感觉比较烦,所以索性就在这个2.7版本上完善了. 首先观赏一下原始代码,我给加了一些注释: # -*- coding: cp936 -*- import urllib2 import urllib import re import

如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)

前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py文件.我们需要获取的数据是朋友圈和发布日期,因此在这里定义好日期和动态两个属性,如下图所示. 2.修改实现爬虫逻辑的主文件moment.py,首先要导入模块,尤其是要主要将items.py中的WeixinMomentItem类导入进来,这点要特别小心别被遗漏了.之后修改start_requests方