我的第一个爬虫
2017-10-19 21:16
148 查看
我的第一个爬虫
# coding:utf-8
#爬糗事百科等段子,有如下功能,自动获得总页数,爬取每页段子过滤掉图片段子,自动创建TXT文件,将每页段子写入对应文件
import urllib
import urllib2
import re
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 有这个才能f.write()写入TXT文件,不知道具体原因可能事编码问题
class QSBK:
def __init__(self):
self.user_agent = 'Mozilla/4.0(compatible;MSIE 5.5;windows NT)'
self.headers = {'User-Agent':self.user_agent}
# 设置头部
def getPage(self):
url = 'http://www.qiushibaike.com/hot/page'
request = urllib2.Request(url,headers = self.headers)
resqonse = urllib2.urlopen(request)
pageCode = resqonse.read().decode('utf-8')
return pageCode
def getPageNum(self):
pageCode = self.getPage()
pagenumpattern = re.compile('<span class=\"page-numbers\">(.*?)</span>',re.S)
pagenumitems = re.findall(pagenumpattern,pageCode)
pagenum = int(pagenumitems[-1])
#获得列表最后一项即为总页码
return pagenum
def start(self):
pagenum = self.getPageNum()
for i in range(1,pagenum+1):
num = "%s.txt"%i
f = open(num,"w")
url = 'http://www.qiushibaike.com/hot/page/' + str(i)
request = urllib2.Request(url,headers = self.headers)
resqonse = urllib2.urlopen(request)
pageCode = resqonse.read().decode('utf-8')
pattern = re.compile('<div class="content".*?span>(.*?)</span>.*?<!--.*?>(.*?)</div>',re.S)
items = re.findall(pattern,pageCode)
for item in items:
haveImg = re.search("img",item[1])
if not haveImg:
f.write(item[0])
f.close
s = QSBK()
s.start()
# coding:utf-8
#爬糗事百科等段子,有如下功能,自动获得总页数,爬取每页段子过滤掉图片段子,自动创建TXT文件,将每页段子写入对应文件
import urllib
import urllib2
import re
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 有这个才能f.write()写入TXT文件,不知道具体原因可能事编码问题
class QSBK:
def __init__(self):
self.user_agent = 'Mozilla/4.0(compatible;MSIE 5.5;windows NT)'
self.headers = {'User-Agent':self.user_agent}
# 设置头部
def getPage(self):
url = 'http://www.qiushibaike.com/hot/page'
request = urllib2.Request(url,headers = self.headers)
resqonse = urllib2.urlopen(request)
pageCode = resqonse.read().decode('utf-8')
return pageCode
def getPageNum(self):
pageCode = self.getPage()
pagenumpattern = re.compile('<span class=\"page-numbers\">(.*?)</span>',re.S)
pagenumitems = re.findall(pagenumpattern,pageCode)
pagenum = int(pagenumitems[-1])
#获得列表最后一项即为总页码
return pagenum
def start(self):
pagenum = self.getPageNum()
for i in range(1,pagenum+1):
num = "%s.txt"%i
f = open(num,"w")
url = 'http://www.qiushibaike.com/hot/page/' + str(i)
request = urllib2.Request(url,headers = self.headers)
resqonse = urllib2.urlopen(request)
pageCode = resqonse.read().decode('utf-8')
pattern = re.compile('<div class="content".*?span>(.*?)</span>.*?<!--.*?>(.*?)</div>',re.S)
items = re.findall(pattern,pageCode)
for item in items:
haveImg = re.search("img",item[1])
if not haveImg:
f.write(item[0])
f.close
s = QSBK()
s.start()
相关文章推荐
- 第一个Python3.0 爬虫程序, 爬取百度贴吧图片
- 第一个爬虫 Groovy + Jsoup(神器) 爬取知乎日报
- 如何开始写你的第一个python脚本——简单爬虫入门!
- 第一个python网络爬虫总结
- Python3_第一个简单爬虫开发_爬取百度百科1000个词条_参照慕课网教程实现
- 我的第一个爬虫程序:利用Python抓取网页上的信息
- 第一个BeautifulSoup爬虫
- 第一个小爬虫
- 第一个爬虫教程的大坑,关于for循环打印字符串列表
- 自己做的第一个爬虫
- 第一个python爬虫 抓取新浪新闻
- 第一个python爬虫
- 我的第一个豆瓣短评爬虫
- java实现网络爬虫第一个版本
- python 网络爬虫入门(一)———第一个python爬虫实例
- [Python]网络爬虫(12):爬虫框架Scrapy的第一个爬虫示例入门教程
- 我的第一个python爬虫脚本
- 第一个爬虫:爬取古诗中带有“月”字的诗句
- [python] 第一个爬虫, 爬妹子写真集图片
- python-入门的第一个爬虫例子