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定时采集摄像头图像上传ftp服务器功能实现
Dec 23 Python
python实现的文件夹清理程序分享
Nov 22 Python
Python selenium 三种等待方式解读
Sep 15 Python
Python中shutil模块的学习笔记教程
Apr 04 Python
pycharm设置注释颜色的方法
May 23 Python
python实现可视化动态CPU性能监控
Jun 21 Python
Python3列表List入门知识附实例
Feb 09 Python
Keras自定义实现带masking的meanpooling层方式
Jun 16 Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 Python
python如何做代码性能分析
Apr 26 Python
python实现自动清理文件夹旧文件
May 10 Python
Python中可变和不可变对象的深入讲解
Aug 02 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/05/07 PHP
php导入大量数据到mysql性能优化技巧
2014/12/29 PHP
javascript setTimeout()传递函数参数(包括传递对象参数)
2010/04/07 Javascript
提升你网站水平的jQuery插件集合推荐
2011/04/19 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
javascript异步处理工作机制详解
2015/04/13 Javascript
JS清除字符串中重复值的实现方法
2016/08/03 Javascript
详解JSON1:使用TSQL查询数据和更新JSON数据
2016/11/21 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
layui表格实现代码
2017/05/20 Javascript
详解Angular 中 ngOnInit 和 constructor 使用场景
2017/06/22 Javascript
JS脚本实现网页自动秒杀点击
2018/01/11 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
VUE:vuex 用户登录信息的数据写入与获取方式
2019/11/11 Javascript
JavaScript, select标签元素左右移动功能实现
2020/05/14 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
vue a标签点击实现赋值方式
2020/09/07 Javascript
[52:08]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第一局
2016/03/05 DOTA
python33 urllib2使用方法细节讲解
2013/12/03 Python
python使用自定义user-agent抓取网页的方法
2015/04/15 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
python多线程与多进程及其区别详解
2019/08/08 Python
HTML+CSS3模拟心的跳动实例代码
2017/09/05 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
世界经理人咨询有限公司面试
2014/09/23 面试题
高三自我鉴定
2013/10/23 职场文书
2013年大学生的自我鉴定
2013/10/24 职场文书
财务方面个人工作的自我评价
2013/12/28 职场文书
毕业生自荐信如何写
2014/03/24 职场文书
校园安全广播稿范文
2014/09/25 职场文书
拾金不昧表扬信
2015/01/16 职场文书
人工作失职检讨书
2015/05/05 职场文书
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript