Python实现抓取网页并且解析的实例


Posted in Python onSeptember 20, 2014

本文以实例形式讲述了Python实现抓取网页并解析的功能。主要解析问答与百度的首页。分享给大家供大家参考之用。

主要功能代码如下:

#!/usr/bin/python
#coding=utf-8

import sys 
import re
import urllib2
from urllib import urlencode
from urllib import quote
import time
maxline = 2000

wenda = re.compile("href=\"http://wenda.so.com/q/.+\?src=(.+?)\"")
baidu = re.compile("<a href=\"http://www.baidu.com/link\?url=.+\".*?>更多知道相关问题.*?</a>")
f1 = open("baidupage.txt","w")
f2 = open("wendapage.txt","w")

for line in sys.stdin:
  if maxline == 0:
    break
  query = line.strip();
  time.sleep(1);
  recall_url = "http://www.so.com/s?&q=" + query;
  response = urllib2.urlopen(recall_url);
  html = response.read();                                                   
  f1.write(html)
  m = wenda.search(html);
  if m:
    if m.group(1) == "110":
      print query + "\twenda\t0";
    else:
      print query + "\twenda\t1";
  else:
    print query + "\twenda\t0";
  recall_url = "http://www.baidu.com/s?wd=" + query +"&ie=utf-8";
  response = urllib2.urlopen(recall_url);
  html = response.read();
  f2.write(html)
  m = baidu.search(html);
  if m:
    print query + "\tbaidu\t1";
  else:
    print query + "\tbaidu\t0";
  maxline = maxline - 1;
f1.close()
f2.close()

希望本文所述对大家Python程序设计的学习有所帮助。

Python 相关文章推荐
Python中实现远程调用(RPC、RMI)简单例子
Apr 28 Python
python绘图方法实例入门
May 19 Python
python在控制台输出进度条的方法
Jun 20 Python
python 转换 Javascript %u 字符串为python unicode的代码
Sep 06 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
python编写朴素贝叶斯用于文本分类
Dec 21 Python
浅谈python可视化包Bokeh
Feb 07 Python
浅谈Python中eval的强大与危害
Mar 13 Python
Python实现Singleton模式的方式详解
Aug 08 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
python 解压、复制、删除 文件的实例代码
Feb 26 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
跟老齐学Python之字典,你还记得吗?
Sep 20 #Python
跟老齐学Python之再深点,更懂list
Sep 20 #Python
跟老齐学Python之画圈还不简单吗?
Sep 20 #Python
跟老齐学Python之list和str比较
Sep 20 #Python
Python显示进度条的方法
Sep 20 #Python
python中对list去重的多种方法
Sep 18 #Python
Python中用Descriptor实现类级属性(Property)详解
Sep 18 #Python
You might like
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
php curl_init函数用法
2014/01/31 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
php实现获取文件mime类型的方法
2015/02/11 PHP
php实现兼容2038年后Unix时间戳转换函数
2015/03/18 PHP
php排序算法实例分析
2016/10/17 PHP
IE6下js通过css隐藏select的一个bug
2010/08/16 Javascript
需要做特殊处理的DOM元素属性的访问
2010/11/05 Javascript
利用JS自动打开页面上链接的实现代码
2011/09/25 Javascript
JQuery与Ajax调用新浪API获取短网址的代码
2014/02/07 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JS中完美兼容各大浏览器的scrolltop方法
2015/04/17 Javascript
JavaScript中操作字符串小结
2015/05/04 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
javaScript中的原型解析【推荐】
2016/05/05 Javascript
深入解析JavaScript中的arguments对象
2016/06/12 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
浅谈Vue.use的使用
2018/08/29 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
复制粘贴功能的Python程序
2008/04/04 Python
Python中用Spark模块的使用教程
2015/04/13 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
PyQt5每天必学之布局管理
2018/04/19 Python
Django自带的加密算法及加密模块详解
2019/12/03 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
计算机网络专业推荐信
2013/11/24 职场文书
产品质量保证书
2014/04/29 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
如何使用vue3打造一个物料库
2021/05/08 Vue.js
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
2021/06/01 Python