用python的curl和lxml来抓取和分析网页内容
2013-09-18 16:42
615 查看
Curl是一个强大的URL语法的客户端,支持DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS等多种协议。
Lxml是python一个非常好用的xml模块,同时支持html的处理。虽然html是xml的一个子集,但是有些html网页写的不够标准,例如写了<option>但是又没写</option>,这种情况下使用xml工具来分析绝对是会报错的,但是html工具通常就可以很好的兼容这些非标准的情况。
用urlparse的urljoin可以很好的帮你处理相对路径问题。
如果你的python里面缺少了curl或者lxml等模块,可以到pypi去找。
Lxml是python一个非常好用的xml模块,同时支持html的处理。虽然html是xml的一个子集,但是有些html网页写的不够标准,例如写了<option>但是又没写</option>,这种情况下使用xml工具来分析绝对是会报错的,但是html工具通常就可以很好的兼容这些非标准的情况。
用urlparse的urljoin可以很好的帮你处理相对路径问题。
如果你的python里面缺少了curl或者lxml等模块,可以到pypi去找。
#!/usr/bin/env python # coding: utf-8 import os import sys import urlparse import lxml.html import lxml.etree import curl def download(url): c = curl.Curl() c.set_timeout(8) c.get(url) return c.body() def parse_url(): base_url = 'http://finance.ce.cn/stock/' ht_string = download(base_url) ht_doc = lxml.html.fromstring(ht_string, base_url) elms = ht_doc.xpath("//li[@style='font-size:15px; line-height:29px;']/a") for i in elms: print urlparse.urljoin(base_url, i.get('href')) print lxml.etree.tostring(i, encoding='utf-8') if __name__ == '__main__': parse_url()
相关文章推荐
- Python抓取网页内容应用代码分析
- Python抓取网页中内容,正则分析后…
- Python抓取网页内容应用代码分析
- python抓取网页内容
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- Python 抓取动态网页内容方案详解
- 使用C#抓取网页内容并分析获取数据
- Python简单抓取在线网页内容
- python抓取网页内容示例分享
- CURL抓取网页内容并用正则提取。
- CURL抓取网页内容并用正则提取。
- 抓取网页,分析网页内容,模拟登陆网站的逻辑/流程和注意事项
- Jsoup网页内容抓取分析
- python基于BeautifulSoup实现抓取网页指定内容的方法
- [Python]网络爬虫(二):利用urllib2通过指定的URL抓取网页内容
- Jsoup网页内容抓取分析
- Python抓取网页内容
- js网页内容抓取分析
- 求助,如何使用Python3 抓取ASPX网站中翻页URL不改变的网页内容呢?求指导!谢谢!
- paip.抓取网页内容--java php python