本来是为了交大作业,参考的一个优快云爬虫教程。
模仿占大半的东西交不交都无所谓了。
期待有一天,也可以写出这样技术性的博客。
分析:
由于这是针对专门一个网页的爬虫,所以需要事先分析好网页的元素。
比如:爬取内容的url、是否需要header验证、正则表达式的使用等等。
代码部分:
构造一个request对象,可以包含url,header,表单 等等。
使用urllib2组件里的urlopen传入request对象,来获得返回的对象response。
之后需要用到re组件里的正则表达式。将获取到的html文件过滤,获得想要的字符串。
心得:
个人觉得正则表达式是一门学问,也有专门的书介绍这部分内容,有需要的话,值得研究。
关于语言的学习,现在的想法是最好划出单独的一大块时间学习,巩固,平时的零碎时间用来写,巩固。
# -*- coding: utf-8 -*-
import urllib2
import re
page = 1
while 1:
myUrl = "http://m.qiushibaike.com/hot/page/" + str(page)
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(myUrl, headers = headers)
myResponse = urllib2.urlopen(req)
myPage = myResponse.read()
p = re.compile(r"""(?<=<div\sclass="content">\n\n)
(.*?)\n
""",re.X)
for m in p.finditer(myPage):
print m.group()
print '-------第'+ str(page) +'页-------'
page=input()