python解析网页
A. 怎样用python爬取网页
#coding=utf-8
importurllib
importre
#网络贴吧网址:https://tieba..com/index.html
#根据URL获取网页HTML内容
defgetHtmlContent(url):
page=urllib.urlopen(url)
returnpage.read()
#从HTML中解析出所有jpg的图片的URL
#从HTML中jpg格式为<img...src="xxx.jpg"width='''>
defgetJPGs(html):
#解析jpg图片URL的正则表达式
jpgReg=re.compile(r'<img.+?src="(.+?.jpg)"')
#解析出jpg的URL列表
jpgs=re.findall(jpgReg,html)
returnjpgs
#用图片url下载图片并保存成制定文件名
defdownloadJPG(imgUrl,fileName):
urllib.urlretrieve(imgUrl,fileName)
#批量下载图片,默认保存到当前目录下
defbatchDownloadJPGs(imgUrls,path='../'):#path='./'
#给图片重命名
count=1
forurlinimgUrls:
downloadJPG(url,''.join([path,'{0}.jpg'.format(count)]))
print"下载图片第:",count,"张"
count+=1
#封装:从网络贴吧网页下载图片
defdownload(url):
html=getHtmlContent(url)
jpgs=getJPGs(html)
batchDownloadJPGs(jpgs)
defmain():
url="http://www.meituba.com/dongman/"
download(url)
if__name__=='__main__':
main()
B. 求助,python 解析爬取的网页源码中的json部分
我用re把json的部分截取出来了,也用json.loads()解析成了字典,现在的问题是里面需要的信息那部分是有一些是unicode 编码的,求解。。。。
{"pageName":"mainsrp","mods":{"shopcombotip":{"status":"hide","export":false},"shopstar":{"status":"hide","export":false},"navtablink":{"status":"hide","export":false},"personalbar":{"status":"show","data":{"metisData":{"nickname":"","query":"秋季打底衫","shopItems":[{"text":"黄钻爱买店铺","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\u0026filter_rectype\u003d44\u0026stats_click\u003dms_from:44","trace":"metis44"},{"text":"回头客爱买店铺","count":"500+","url":"/search?q\u003d秋季打底衫\u0026tab\u003dmysearch\
C. 求助 Python代码
colour = input("Enter a colour:")#1 输入的是字符串不能用int转换成整数
if colour == 'black' or colour == 'white':#2 不能省略colour==
print("shade")
elif colour == 'red' or colour == 'blue' or colour == 'green':
print("primary colour")
else:#3 少了冒号,要加:'
choice = input("is this a colour?") #4 没有用choice接收返回值
if choice == 'yes':
print("ok.")
D. 如何用python解析网页并获得网页真实的源码
Python 2.7版本的话 代码如下:
#!/usr/bin/env python
# -*- coding:utf8 -*-
import urllib
import urllib2
import string
import re
addr1 = 某个网址的地址(string format)
response1 = urllib.urlopen(addr1)
text1 = response1.read()
response1.close()
text1就是网页的源代码,可以print出来看。UTF8的代码是为了确保能正确抓取中文。
E. python代码求教。
python代码是查找域名对应的IP地址。向IP对应的服务器发送请求。服务器响应请求,发回网页内容。浏览器解析网页内容。urllib-网络库(stdlib)。requests-网络库。grab–网络库(基于pycurl)。pycurl–网络库(绑定libcurl)。”
F. python怎样将网页内容解析成DOM对象
可以使用Python自带的HTMLParser模块解析HTML文档:
HTMLParser的核心模块是org.htmlparser.Parser类,这个类实际完成了对于HTML页面的分析工作。这个类有下面几个构造函数:
public Parser ();
public Parser (Lexer lexer, ParserFeedback fb);
public Parser (URLConnection connection, ParserFeedback fb) throws ParserException;
public Parser (String resource, ParserFeedback feedback) throws ParserException;
public Parser (String resource) throws ParserException;
public Parser (Lexer lexer);
public Parser (URLConnection connection) throws ParserException;
和一个静态类public static Parser createParser (String html, String charset);
G. 怎么用python解析网页,并提取出与标题相关的正文
可以使用正则表达式或者xpath方式,下面这个免费教程是说明怎么用正则表达式来取得你要的东西的,供参考。
http://www.chuanke.com/v4500746-186400-1033307.html
H. Python解析库lxml与xpath用法总结
本文主要围绕以xpath和lxml库进行展开:
一、xpath 概念、xpath节点、xpath语法、xpath轴、xpath运算符
二、lxml的安装、lxml的使用、lxml案例
一、xpath
1.xpath概念
XPath 是一门在 XML 文档中查找信息的语言。XPath 使用路径表达式在 XML 文档中进行导航 。XPath 包含一个标准函数库 。XPath 是 XSLT 中的主要元素 。XPath 是一个 W3C 标准 。
2.xpath节点
xpath有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。
节点关系:父、子、兄弟、先辈、后辈。
3.xpath语法
xpath语法在W3c网站上有详细的介绍,这里截取部分知识,供大家学习。
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。下面列出了最有用的路径表达式:
在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:
谓语用来查找某个特定的节点或者包含某个指定的值的节点。
谓语被嵌在方括号中。
在下面的表格中,我们列出了带有谓语的一些路径表达式,以及表达式的结果:
XPath 通配符可用来选取未知的 XML 元素。
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
通过在路径表达式中使用"|"运算符,您可以选取若干个路径。
在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:
4.xpath 轴
轴可定义相对于当前节点的节点集。
5.xpath运算符
下面列出了可用在 XPath 表达式中的运算符:
好了,xpath的内容就这么多了。接下来我们要介绍一个神器lxml,他的速度很快,曾经一直是我使用beautifulsoup时最钟爱的解析器,没有之一,因为他的速度的确比其他的html.parser 和html5lib快了许多。
二、lxml
1.lxml安装
lxml 是一个xpath格式解析模块,安装很方便,直接pip install lxml 或者easy_install lxml即可。
2.lxml 使用
lxml提供了两种解析网页的方式,一种是你解析自己写的离线网页时,另一种 则是解析线上网页。
导入包:
1.解析离线网页:
2.解析在线网页:
那么我们怎么获取这些标签和标签对应的属性值了,很简单,首先获取标签只需你这样做:
然后我们可以,比方说,你要获取a标签内的文本和它的属性href所对应的值,有两种方法,
1.表达式内获取
2.表达式外获取
这样就完成了获取,怎么样,是不是很简单了,哈哈哈。
下面再来lxml的解析规则:
3.lxml案例
为了偷懒,我决定还是采用urllib那篇文章的代码,哈哈哈,机智如我。
I. python如何读取网页中的数据
用Beautiful Soup这类解析模块:
Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree);
它提供简单又常用的导航(navigating),搜索以及修改剖析树的操作;
用urllib或者urllib2(推荐)将页面的html代码下载后,用beautifulsoup解析该html;
然后用beautifulsoup的查找模块或者正则匹配将你想获得的内容找出来,就可以进行相关处理了,例如:
html='<html><head><title>test</title></head><body><p>testbody</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>