新贴吧怎么用战风新纪元通灵术召唤术

& & & & &前几天就想写一个python脚本实现从百度贴吧任意帖子页面获取该页面上的用户id。一开始我打算用正则表达式查找&a data-field标签,但多次尝试后被搞晕了!!html代码里面的转义实在太麻烦了!(好吧,其实只是我没经验))后来尝试用BeautifulSoup解析html,顺利得到用户id了,但是从得到的结果发现,有些用户id居然没有得出来,分析半天才发现原来是百度贴吧把html的一半给以&!--&标签注释掉了,估计是为了优化页面的加载。但正是这个原因使得我无法使用BeautifulSoup解析html获取目标结果了。于是我又想找找有没有别的第三方模块可以处理html注释部分,尝试了lxml.html模块,同样无果。最终只有回到最初的方法----正则表达式,搞定!
& & & & [补充]发表后我才发现第13行代码显示有问题,我原代码是i=i.replace(u'&',u'&')....(请无视空格)结果一发表出来后又被HTML转义为一个双引号了!That's where keng me before!
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'tigerstudent'
import urllib
import json
#因为该网页是 gbk编码的,所以首先从gbk编码转为python内部的unicode编码
page=urllib.urlopen(r'/p/').read().decode('gbk')
#这里涉及到正则表达式的贪婪匹配,所以用(.+?)而不用(.+)
res=re.findall(r&data-field=\'(.+?)\'&,page)
for i in res:
i=i.replace(u'&',u'&')
#i=i.replace(u'false',u&False&)这行代码没必要,因为python的False在json格式中表示为false
final=json.loads(i)
if(final and final.get('un')):#若final不为None且含有‘un'元素则输出
print final.get('un')
print res[0]#从这里输出的结果可以知道,在上面对i的修改并没有真正修改res的内容
print type(res[0])
以上代码只是我的测试代码,最终效果在
虽然最终没有用BeautifulSoup和lxml.html模块解决,但毕竟学会了它们的使用了!
过会我再记录一下这两模块的学习体会
本文已收录于以下专栏:
相关文章推荐
最近想用Python爬虫搞搞百度贴吧的操作,所以我得把原来申请的小号找出来用。有一个小号我忘了具体ID,只记得其中几个字母以及某个加入的贴吧。所以今天就用爬虫来获取C语言贴吧的所有成员。计划很简单,爬...
操作的url:  /p/?see_lz=1&pn=1
import urllib.request
import http.client...
本文说的是在登录页面中使用js进行正则验证并使用ajax进行用户ID的数据库验证,另外也加入键盘***。
先看一下登录的jsp页面代码
String path = request.ge...
我们来看下login.jsp页面,如下图所示。可以看到标签中并没有定义onclick方法,只是定义了个id=&loginsubmit&,那么onclick事件在哪儿定义了呢?
其实是在js代码当...
首先,我们还是先看一下注册页面,如下图所示。
上图箭头指向的链接在register.jsp的代码当中的位置如下图所示。
由于我现在对js不是很熟悉,注册页面对输入合法性的校验就不像正规网站...
这一篇,将会展示用Python语言实现用户信息的增删改查
首先,先搭建项目框架,这个在上一节里有提到,就不再写
然后 ,搭好项目,就开始编码了,首先,先分析,我们要实现用户信息的管理,就先写好界面...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字) 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
2015年贴吧超级大召唤术你懂的,wow吧会员2067人
下载积分:600
内容提示:2015年贴吧超级大召唤术你懂的,wow吧会员2067人
文档格式:DOC|
浏览次数:65|
上传日期: 08:26:54|
文档星级:
全文阅读已结束,如果下载本文需要使用
 600 积分
下载此文档
该用户还上传了这些文档
2015年贴吧超级大召唤术你懂的,wow吧会员2067人
官方公共微信

参考资料

 

随机推荐