爬虫第三战 json爬取网易新闻
2016-12-14 21:04
232 查看
出洞,写代码,本熊这次要带来的新内容是涉及到一部分动态网页的问题,爬取网易新闻,感觉这次难度不是一般的大,好吧,,其实我每次都是这么想的。我什么时候能写出非常棒的代码呢(图样图森破),转回正题,NOW
如果按以前的老套路一定是上网址,放代码等等但这次这个套路似乎已经行不通了,当打开新闻评论所在的网址的源代码时,搞什么!!什么也没有,莫方莫方,不是我们的评论被黑掉了,只是我们的打开方式不正确,换个姿势试一下,在评论页面按下f12有惊喜,dell机如果用着快捷键需要fn+f12才好,点击网络,刷新,在其中找到 json ,在json项目下发现了这个家伙打开,是不是里面有那些“藏起来的”评论,
那么现在就需要处理这些长着字典样子的json文件了,在处理之前先要把那些不需要的东西删除,接下来,将在代码中具体解决这些问题
# coding:utf-8
import re
import urllib2
import json # 我们的新伙伴
import time
class Counter(dict):
def _missing_(self,key):
return None
for l in range(0,3):
url = 'http://comment.sports.163.com/api/v1/products/a2869674571f77b5a0867c3d71db5856/threads/C56ACHMM00058782/comments/newList?offset=%d&limit=30&showLevelThreshold=72&headLimit=1&tailLimit=2&callback=getData&ibc=newspc&_=1478429803769' %l
user_agent = 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0' # 进行模拟登陆
headers = { 'User-Agent' : user_agent }
response = urllib2.Request(url, headers=headers)
html = urllib2.urlopen(response).read() # 打开读取网址
def getitem():
reg = re.compile(r'getData\(')
data = reg.sub('',html)
reg1 = re.compile(r"\)\;")
data = reg1.sub(' ', data) # 包括之前的几步都是处理源码,将多余的部分删掉使它成为json格式
f = open('yi6.text' , 'a+') # 打开文本
json_ = json.loads(data) # 格式转换
c = Counter(json_)
for i in json_['comments']:
f.write(json_['comments'][i]['user'].setdefault('nickname' , 'none').encode('utf-8')+('|') ) # 以字典的方式获取内容并写入
f.write(json_['comments'][i]['content'].encode('utf-8')+'\n')
f.close()
getitem()
按照套路到这里就应该说结束语了,毕竟这个模块从一开始就反常结尾怎么会不反常呢,在这要解释一个东西,在一开始调用Counter,
使setdefault构成一个判断,当字典中nickname不存在时,不会报错而是输出none代替
欢迎各位大神批评指教,THANKS
相关文章推荐
- 七夜在线音乐台开发 第三弹 爬虫篇 (原创)
- python 爬虫获取json数据存入文件时乱码
- 网易新闻排行榜爬虫
- java爬虫 抓取国家统计局:统计用区划代码和城乡划分代码(抓取省市区镇县办事处村委会数据)生成json
- 黑板客爬虫关卡之第三关
- 爬虫实践---新浪微博爬取+json+csv
- 爬虫解析JSON链接整理 jun原创
- python爬虫-urllib+cookie+json+POST
- 爬虫爬取电商网站的商品数据并保存成json文件
- 七夜在线音乐台开发 第三弹 爬虫篇
- 第三课2 重写用户登录模块(整合Jquery+JSON做验证)
- python爬虫--python解析json
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
- Python 爬虫实例(4)—— 爬取网易新闻
- Python爬虫实战(三):爬网易新闻
- 网络爬虫之php抓取json,xml,js,html示例分析及数据解析
- 快递查询--爬虫,引入requests包和json包--类的形式版本
- Java编写网络爬虫笔记(第三部分:Jsoup的强大)
- 爬虫知识点(模拟登陆与json)
- json 加密解密爬虫