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中操作字符串之replace()方法的使用
May 19 Python
Python实现的三层BP神经网络算法示例
Feb 07 Python
Python反转序列的方法实例分析
Mar 21 Python
python读取和保存视频文件
Apr 16 Python
python爬取个性签名的方法
Jun 17 Python
TensorFlow 模型载入方法汇总(小结)
Jun 19 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
Oct 11 Python
使用Python编写Prometheus监控的方法
Oct 15 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
python解析命令行参数的三种方法详解
Nov 29 Python
简单了解python调用其他脚本方法实例
Mar 26 Python
Django基于客户端下载文件实现方法
Apr 21 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介绍篇
2010/10/26 PHP
PHP调用Webservice实例代码
2011/07/29 PHP
jQuery 阴影插件代码分享
2012/01/09 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
基于JavaScript代码实现pc与手机之间的跳转
2015/12/23 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
2019/02/27 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python 函数返回值的示例代码
2019/03/11 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
Python 求数组局部最大值的实例
2019/11/26 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python loguru日志库之高效输出控制台日志和日志记录
2020/03/07 Python
Tensorflow中的降维函数tf.reduce_*使用总结
2020/04/20 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
Python使用jupyter notebook查看ipynb文件过程解析
2020/06/02 Python
泰国第一在线超市:Tops
2021/02/13 全球购物
联想C++笔试题
2012/06/13 面试题
实习生个人的自我评价
2013/12/08 职场文书
疾病捐款倡议书
2014/05/13 职场文书
学生安全承诺书
2014/05/22 职场文书
校庆活动策划方案
2014/06/05 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
医生见习报告范文
2014/11/03 职场文书
教师节联欢会主持词
2015/07/04 职场文书
大学体育课感想
2015/08/10 职场文书
如何理解Vue前后端数据交互与显示
2021/05/10 Vue.js