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 + hadoop streaming 分布式编程(一) -- 原理介绍,样例程序与本地调试
Jul 14 Python
Web服务器框架 Tornado简介
Jul 16 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
Python使用内置json模块解析json格式数据的方法
Jul 20 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
Dec 30 Python
python实现银行实战系统
Feb 26 Python
终于搞懂了Keras中multiloss的对应关系介绍
Jun 22 Python
Python 在局部变量域中执行代码
Aug 07 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 Python
python中 Flask Web 表单的使用方法
May 20 Python
Python时间操作之pytz模块使用详解
Jun 14 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脚本来实现WordPress中评论分页的功能
2015/12/10 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
Laravel 修改验证异常的响应格式实例代码详解
2020/05/25 PHP
Jquery easyUI 更新行示例
2014/03/06 Javascript
在jquery中的ajax方法怎样通过JSONP进行远程调用
2014/04/04 Javascript
javascript校验价格合法性实例(必须输入2位小数)
2014/05/05 Javascript
JavaScript设计模式学习之“类式继承”
2015/03/12 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
JS实现点击按钮后框架内载入不同网页的方法
2015/05/05 Javascript
jQuery数据类型小结(14个)
2016/01/08 Javascript
AngularJS Bootstrap详细介绍及实例代码
2016/07/28 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
使用ef6创建oracle数据库的实体模型遇到的问题及解决方案
2017/11/09 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
React中的refs的使用教程
2018/02/13 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
vue接入腾讯防水墙代码
2019/05/07 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
2020/03/23 Javascript
python实现三维拟合的方法
2018/12/29 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Django-celery-beat动态添加周期性任务实现过程解析
2020/11/26 Python
Python 实现二叉查找树的示例代码
2020/12/21 Python
基于HTML5 Canvas 实现商场监控实例详解
2017/11/20 HTML / CSS
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
英国最受欢迎的手表网站:Watch Shop
2016/10/21 全球购物
关于毕业的广播稿
2014/01/10 职场文书
股指期货心得体会
2014/09/10 职场文书
离婚上诉状范文
2015/05/23 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
Python实现随机生成迷宫并自动寻路
2021/06/13 Python