• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
JUNECODE
Talk is cheap, show me the code.
博客园    首页    新随笔    联系   管理    订阅  订阅
实例学习——爬取《斗破苍穹》全文小说
爬虫实战。

 阅读前提:python基本语法

                   正则表达式

 开发环境:(Windows)eclipse+pydev

 爬取网址:www.doupoxs.com/doupocangqiong/

import requests
import re
import time

headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'}
     #加入请求头,增加爬虫稳定性
f = open('D:\Pyproject\doupo\doupo.txt','a+')      #新建txt文档,以追加方式打开

def get_info(url):                 #每一页面的文本爬取函数
    res = requests.get(url,headers = headers)
    if res.status_code == 200:                     #判断请求码是否为200,若是,则成功,不是,则失败
        contents = re.findall('<p>(.*?)</p>',res.content.decode('UTF-8'),re.S)        #定义编码方式
        for content in contents:
            f.write(content+'\n')                  #正则获取数据写入txt文件
    else:
        pass
    
if __name__ =='__main__':      
    urls = ['http://www.doupoxs.com/doupocangqiong/{}.html'.format(str(i)) for i in range(2,1665)]  #总爬取页数
    for url in urls:
        get_info(url)                          
        time.sleep(1)
f.close()                                         #关闭文档

结果展示:

有关请求头获取方式等,见本人另一博文,不再赘述:https://www.cnblogs.com/junecode/p/11306266.html

posted on 2019-08-10 00:07  JUNECODE  阅读(1103)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3