python写一个爬虫(1)

寒假自己通过视频学习python3的一些基础性的内容,寒假就要结束了,在这里写一个小程序算是一个阶段性的成果了吧,在这里打算写一个小爬虫,爬取网络上一部小说的内容,(因为小说的字数较多,跑起来应该感觉很不错吧)在这些写一下要实现的功能。
1、通过给定小说的第一章的网址,来爬取该小说的数据,同时找到下一章的url进行下一章的爬取。
2、把小说的题目爬取到,打印到屏幕上
3、把小说每一章的题目和内容保存到一个txt文件中,txt文件的名字为每一章名字(这是暂时的内容以后可能会保存到一个txt文件中)。
实现:
1、要实现通过url得到内容,这里使用的urllib.request

import urllib.request
LXBM='gbk' #文件的编码类型,需要单独设置
weburl='http://www.bxwx.org/b/8/8823/5789596.html'
webheaders={
    'Connection':'Keep_Alive',
    'Accept':'text/html,application/xhtml+xml,*/*',
    'Accept-Language':'zh-CN,zh;q=0.8',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.154 Safari/537.36 LBBROWSER',
    } #报头,模拟浏览器的访问行为

def getDate(Burl,Bheaders):
    #根据url地址得到该url中的文本数据
    req = urllib.request.Request(url=Burl,headers=Bheaders)#构造请求头
    data = urllib.request.urlopen(req).read() #读取数据
    data1 = data.decode(LXBM) #把读取的数据转换为utf-8的格式
    return data1

html=getDate(weburl,webheaders)
print(html)

2、可以把str的内容保存的txt文档中,这里使用一个函数进行保存

def saveDataFileN(DData,DFileN):
    #保存文件,传入的为文件数据,文件名
    f = open(DFileN,'w', encoding = 'utf-8')
    f.write(DData)
    f.close()

注:在实际使用时发现返回的html中的编码方式是不同的,如果使用的编码方法不匹配会报错,这里为了先大致完成是通过手工的方式更改编码类型,以后可能会考虑实现通过自动检测自动更改编码类型。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值