python爬虫——从此不用再愁找不到小说txt文件
最近在学习python,学了个大概就开始写爬虫了,之前做了个糗百的简单爬虫,然后底下还做了一些学校教务系统的爬虫,爬取了自己的成绩,看着挂科的大英,心中一万头草泥马走过,说下今天的正题
昨天才感觉自己的爬虫基础还不是很好,就准备做几个小程序练手,就想到了从小就看的电子小说,当时可以是千辛万苦才从网站找到的TXT文件,传到我的MP5上半夜偷偷看,现在想起来还是美滋滋,又跑偏了
于是乎,我准备做一个可以自动爬取一部电子小说TXT文件的程序
接下来就是百度“免费小说网”,然后选取了笔趣阁,进行了爬取,在这里感谢笔趣阁
我们要做的步骤
1. 输入你要寻找的小说全名并将其数据化传入请求访问的全书网搜索界面 ->
2. 找到搜索界面第一个小说的名字与你寻找的小说名字匹配,如果匹配失败则提示并退出,成功则提取第一个小说的网址进行访问 ->
3. 访问小说文章页面,并且提取所有章节的链接进行后续访问 ->
4. 最后进每一章内容的抓取,保存到本地txt文件中 ->Over
One
首先要会使用浏览器的F12功能
红线画出来的区域其实就是在搜索URL“http://so.ybdu.com/cse/search?”后面加的后缀(我对网页方面只是简单了解,所以用通俗的语言说),其中s和entry都是固定的,q后面则是我输入的“盘龙”的URL编码,以下是核心代码
base_url = 'http://so.ybdu.com/cse/search?'
name = raw_input('请输入你要寻找的电子书完整名称:')
headers = {
'User-agent': 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0'}
data = urllib.urlencode({
'q':name,
's':'14402670595036768243',
'entry':'1'
})
real_url = base_url + data
req = urllib2.Request(real_url,headers=headers)
time.sleep(