python python 入门学习之网页数据爬虫cnbeta文章保存
2015-01-25 22:19
429 查看
需求驱动学习的动力。
因为我们单位上不了外网所以读新闻是那么的痛苦,试着自己抓取网页保存下来,然后离线阅读。今天抓取的是cnbeta科技新闻,抓取地址是http://m.cnbeta.com/wap/index.htm?page=1,咱们需要抓取的是前5页就行了。代码如下:
首先需要抓取页面,循环地址,这个地方需要注意的是因为很多网站禁止机器访问所以需要headers,万能的
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
拿到主页数据后需要找到此主页包含的文章及文章地址,用beautifulsoup访问处理html,beautifulsoup需要对网页进行分级处理,有head body div title href几种模式,这里需要用的是 div class="list" 。找到文章地址后打开url并保存到当前文件夹下面,名字用文章名命名。
因为我们单位上不了外网所以读新闻是那么的痛苦,试着自己抓取网页保存下来,然后离线阅读。今天抓取的是cnbeta科技新闻,抓取地址是http://m.cnbeta.com/wap/index.htm?page=1,咱们需要抓取的是前5页就行了。代码如下:
#!/usr/bin/python # -*- coding: utf-8 -*- import urllib2,re,time,json import sys from bs4 import BeautifulSoup reload(sys) sys.setdefaultencoding('utf-8') n=0 f = open('cnbeta.txt','a') headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} mainurl="http://m.cnbeta.com/wap" for i in range(1,5): add='http://m.cnbeta.com/wap/index.htm?page='+str(i) req = urllib2.Request(add, headers=headers) wb=urllib2.urlopen(req).read() soup=BeautifulSoup(wb) file=open(str(i)+'cnbetamain.html','a') file.write(wb) elv1ment=soup.find_all('div',{'class':'list'}) for elv in elv1ment: n=n+1 url=elv.find('a',href=True).get('href') name=elv.find('a',href=True).get_text() print name + ','+'http://m.cnbeta.com'+url f.write(str(n)+','+name + ','+'http://m.cnbeta.com'+url+'\n') try: html =urllib2.urlopen(urllib2.Request('http://m.cnbeta.com'+url, headers=headers)).read() filename=name+'.html' file=open(filename,'a') file.write(html) except: print 'NOT FOUND' #print filename time.sleep(1) f.close() file.close() print 'OVER'
首先需要抓取页面,循环地址,这个地方需要注意的是因为很多网站禁止机器访问所以需要headers,万能的
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
拿到主页数据后需要找到此主页包含的文章及文章地址,用beautifulsoup访问处理html,beautifulsoup需要对网页进行分级处理,有head body div title href几种模式,这里需要用的是 div class="list" 。找到文章地址后打开url并保存到当前文件夹下面,名字用文章名命名。
相关文章推荐
- python python 入门学习之网页数据爬虫搜狐汽车数据库
- Python爬虫入门学习--(向网页提交数据)
- Python爬虫(入门+进阶)学习笔记 1-5 使用pandas保存豆瓣短评数据
- Python3学习(34)--简单网页内容抓取(爬虫入门一)
- Python爬虫(入门+进阶)学习笔记 1-8 使用自动化神器Selenium爬取动态网页(案例三:爬取淘宝商品)
- Python爬虫入门(爬取某网页财经部分股票数据)
- python 爬虫入门1 网页图片保存
- Python 爬虫学习2 向网页提交数据
- python-框架-网页爬虫-文本处理-科学计算-可视化-机器学习-数据挖掘-深度学习
- Python爬虫(入门+进阶)学习笔记 1-7 数据入库之MongoDB(案例二:爬取拉勾)
- Python 学习入门(6)—— 网页爬虫
- 一个月入门Python爬虫学习,轻松爬取大规模数据
- 【Python3.6爬虫学习记录】(二)使用BeautifulSoup爬取简单静态网页文章
- Python3爬虫从入门到自残(三):保存数据
- Python 学习入门(6)—— 网页爬虫
- python 入门实践之网页数据抓取
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
- Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
- Python 爬虫学习 网页图片下载
- [Python学习] 简单网络爬虫抓取博客文章及思想介绍