欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python爬虫: 用urllib2写的抓取网页内容的简单示例

程序员文章站 2022-05-04 11:21:36
...

示例介绍:

    1.抓取晚安心语页面所有的标题。

    2.将每个分页的内容存入一个Txt文件

注意: 解决中文乱码问题

Python爬虫: 用urllib2写的抓取网页内容的简单示例

     存入含有中文字符串的内容时,需要先unicode一下。

Python爬虫: 用urllib2写的抓取网页内容的简单示例


源代码:

# coding=utf-8
import urllib2
import re
import os
import sys

#解决中文输出乱码问题,write(中文)时需要将中文unicode。 write(unicode('中文'))
reload(sys)
sys.setdefaultencoding('utf-8')

class Spider:
	'''
		这是一个简单的用于抓取'晚安心语'里的语句
		晚安心语的链接: http://www.vikilife.com/tag/晚安心语
	'''
	def __init__(self):
		self.url='http://www.vikilife.com/tag/%E6%99%9A%E5%AE%89%E5%BF%83%E8%AF%AD/page/'

	
	def load_url(self,pageNum):
		'''
			Send HTTP request to the special URL and get some useful information
		
		'''
		current_url= self.url + str(pageNum)
		user_agent='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0'
		headers={'User-Agent':user_agent}
		
		#Send Http Request to URL 
		req = urllib2.Request(current_url,headers=headers)
		response = urllib2.urlopen(req)

		#Read HTML response
		html = response.read()
		
		#Get some useful information from the HTML
		pattern = re.compile(r'<h2>.*?title="(.*?)"',re.S)
		result_list = pattern.findall(html)

		#out put result list
		#print result_list

		#write result to log file
		self.write_result_log(result_list,pageNum)


	def write_result_log(self,result_list,pageNum):
		'''
			write result list to log file
		'''
	
		filePath= os.getcwd() + '/log/wananxinyu_'+str(pageNum)+'.log'
		
		file=open(filePath,'w')
		for result in result_list:
			file.write(unicode(result))
			file.write("\n")
		file.close()
		


if __name__=='__main__':
	spider=Spider()
	for pageNum in range(1,10):
		spider.load_url(pageNum)