对获取简单网页数据方法进行封装
# coding: utf-8
import urllib2
import urllib
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
import re
class BasicsQequest():
def __init__(self):
self.user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
self.headers = {'User-Agent': self.user_agent}
def basics_quest(self, url):
try:
# 构建请求的request
request = urllib2.Request(url, headers=self.headers)
# 利用urlopen获取页面代码
response = urllib2.urlopen(request)
# 将页面转化为UTF-8编码
pageCode = response.read().decode('utf-8')
# print pageCode
return pageCode
except urllib2.URLError, e:
if hasattr(e, "reason"):
print u"连接失败,错误原因", e.reason
return None
def basics_re(self, url, str_re):
pageCode = self.basics_quest(url)
if not pageCode:
print "页面加载失败...."
return None
pattern = re.compile(str_re, re.S)
items = pattern.findall(pageCode)
# for item in items:
# print item
return list(items)
本文介绍了一种使用Python对获取简单网页数据的方法进行封装的技术方案。通过定义一个基础请求类,实现了网页请求、响应处理及正则表达式匹配等功能,方便高效地从目标网站抓取所需数据。
5230

被折叠的 条评论
为什么被折叠?



