您的位置:首页 > 编程语言 > Python开发

python爬虫爬取糗事百科的段子

2017-09-25 18:16 435 查看

问题场景

之后的项目需要爬虫抓取一些信息,找个例子练练手,特此记录。

环境介绍

Windows

Python2.7

IDEA15

通用抓取流程



本文思路

1、给爬虫一个目标即网页地址及参数

2、设置一些必要的参数

3、抓取网页源代码

4、提取数据

5、保存数据(本文是保存在文件里,多数是存在数据库里)

目标



CODE

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import urllib2
import re
import os

class Spider:
# 构造方法
def __init__(self, url, headers):
self.url = url
self.headers = headers

def spider(self, page, pattern):
# 一共13页
for i in range(1, page):
# 抓取过程
# 1、访问其中一个网页,抓取源代码
try:
request = urllib2.Request(url=self.url % str(i), headers=self.headers)
response = urllib2.urlopen(request)
content = response.read()
except urllib2.HTTPError as e:
print e
exit()
except urllib2.URLError as e:
print e
exit()
# 2、提取你的数据
regex = re.compile(pattern, re.S)
items = re.findall(regex, content)
# 3、保存数据
path = 'qiubai'
if not os.path.exists(path):
os.makedirs(path)
file_path = path + "/qiubai" + str(i) + ".txt"
file = open(file_path, 'w')
for item in items:
# 把\n去掉,<br/>换成\n
item = item.replace('\n', '').replace('<br/>', '\n')
item += "\n\n"
file.write(item)

file.close()

if __name__ == '__main__':
url = 'https://www.qiushibaike.com/text/page/%s/'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36'}
# 结合你的网页写表达式
pattern = '<div class="content">.*?<span>(.*?)</span>.*?</div>'
s = Spider(url, headers)
s.spider(14, pattern)


结果截图

结果文件夹



结果文件

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python crawler