python如何读取网页中的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何读取网页中的数据相关的知识,希望对你有一定的参考价值。

想读取远程指定网页中的数据,如-当前在线交流人总数。如何实现

用Beautiful Soup这类解析模块:

    Beautiful Soup 是用Python写的一个html/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree);

    它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作;

    用urllib或者urllib2(推荐)将页面的html代码下载后,用beautifulsoup解析该html;

    然后用beautifulsoup的查找模块或者正则匹配将你想获得的内容找出来,就可以进行相关处理了,例如:

    from BeautifulSoup import BeautifulSoup
    html = '<html><head><title>test</title></head><body><p>test body</p></body></html>'
    soup = BeautifulSoup(html)
    soup.contents[0].name
    # u'html'
    soup.comtents[0].contents[0].name
    # u'head'
    head = soup.comtents[0].contents[0]
    head.parent.name
    # u'html'
    head.next
    # u'<title>test</title>

参考技术A 不知道你说的网页是指的什么,如果你说的是我保存了一网页在你的电脑上,那就直接用open函数打开,read函数读就行了。

如果你说的是某个URL指向的网页内容,那就要用urllib2模块来抓取网页咯。
参考技术B 就是属于网页抓取,可参考:
如何用Python,C#等语言去实现抓取静态网页 模拟登陆网站

里面有逻辑解释和代码。

(此处不能贴地址,可以通过google搜标题,即可找到帖子地址)
参考技术C 用Beautiful Soup这类解析模块

Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree)。它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作。

用urllib或者urllib2(推荐)将页面的html代码下载后,用beautifulsoup解析该html

然后用beautifulsoup的查找模块或者正则匹配将你想获得的内容找出来,就可以进行相关处理了

例子:

from BeautifulSoup import BeautifulSoup

html = '<html><head><title>test</title></head><body><p>test body</p></body></html>'

soup = BeautifulSoup(html)

soup.contents[0].name
# u'html'

soup.comtents[0].contents[0].name
# u'head'

head = soup.comtents[0].contents[0]

head.parent.name
# u'html'

head.next
# u'<title>test</title>

剩下的自己看文档吧

参考资料:http://wenku.baidu.com/view/c4ad3afa770bf78a6529548f.html

本回答被提问者采纳

如何利用python读取网页中变量的内容

参考技术A 正常情况下都是能抓取的,有可能是你抓取时环境不一样所致。
比如你在某页面输入好了之后用Python抓取,py会发出请求,这时候你输入的东西是不可能被抓到的。
相当于你重新打开页面没有任何输入时在浏览器点击网页另存为一样。
或者补充下你的问题,才能有具体的解决方案!
参考技术B # encoding: UTF-8
import urllib2
import re
import json
content = urllib2.urlopen('http://yinyue.kuwo.cn/cinfo/24149/12_422038408_45/70后.htm').read()
pattern = re.compile(r'var\s+jsonm[=\s]+((?:(?!stortData[=\s]+)[\s\S])*);[\s\S]*stortData')
result = pattern.findall(content)
result = result[0]
print result
s = json.loads(result)
print s
print s.keys()
print s["musiclist"][0]["name"]

以上是关于python如何读取网页中的数据的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Python 读取本地存储?

python爬虫时,bs4无法读取网页标签中的文本

做了一个网页,怎么随机读取图片?

python 如何抓取动态页面内容?

R软件如何将爬虫得到的数据制成表格

如何利用python读取网页中变量的内容