Python实现抓取百度搜索结果页的网站标题信息


Posted in Python onJanuary 22, 2015

Python实现抓取百度搜索结果页的网站标题信息

比如,你想采集标题中包含“58同城”的SERP结果,并过滤包含有“北京”或“厦门”等结果数据。

该Python脚本主要是实现以上功能。

其中,使用BeautifulSoup来解析HTML,可以参考我的另外一篇文章:Windows8下安装BeautifulSoup

代码如下:

__author__ = '曾是土木人'

# -*- coding: utf-8 -*-

#采集SERP搜索结果标题

import urllib2

from bs4 import BeautifulSoup

import time

#写文件

def WriteFile(fileName,content):

    try:

        fp = file(fileName,"a+")

        fp.write(content + "\r")

        fp.close()

    except:

        pass
#获取Html源码

def GetHtml(url):

    try:

        req = urllib2.Request(url)

        response= urllib2.urlopen(req,None,3)#设置超时时间

        data    = response.read().decode('utf-8','ignore')

    except:pass

    return data
#提取搜索结果SERP的标题

def FetchTitle(html):

    try:

        soup = BeautifulSoup(''.join(html))

        for i in soup.findAll("h3"):

            title = i.text.encode("utf-8")


 



 if any(str_ in title for str_ in ("北京","厦门")):




  continue

            else:

                print title

            WriteFile("Result.txt",title)

    except:

        pass
keyword = "58同城"

if __name__ == "__main__":

    global keyword

    start = time.time()

    for i in range(0,8):

        url = "http://www.baidu.com/s?wd=intitle:"+keyword+"&rn=100&pn="+str(i*100)

        html = GetHtml(url)

        FetchTitle(html)

        time.sleep(1)

    c = time.time() - start

    print('程序运行耗时:%0.2f 秒'%(c))
Python 相关文章推荐
python中的一些类型转换函数小结
Feb 10 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
Python的dict字典结构操作方法学习笔记
May 07 Python
Python中使用asyncio 封装文件读写
Sep 11 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 Python
在CentOS6上安装Python2.7的解决方法
Jan 09 Python
Python针对给定列表中元素进行翻转操作的方法分析
Apr 27 Python
Python 读取某个目录下所有的文件实例
Jun 23 Python
python 基于TCP协议的套接字编程详解
Jun 29 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
Nov 05 Python
python如何编写类似nmap的扫描工具
Nov 06 Python
Python中使用异常处理来判断运行的操作系统平台方法
Jan 22 #Python
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 #Python
python中实现php的var_dump函数功能
Jan 21 #Python
Python实现获取网站PR及百度权重
Jan 21 #Python
Python实现抓取页面上链接的简单爬虫分享
Jan 21 #Python
Python中多线程及程序锁浅析
Jan 21 #Python
Python实现的多线程端口扫描工具分享
Jan 21 #Python
You might like
php短网址和数字之间相互转换的方法
2015/03/13 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
理解Javascript_06_理解对象的创建过程
2010/10/15 Javascript
jQuery前台数据获取实现代码
2011/03/16 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
2014/02/21 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
浅析AngularJS Filter用法
2015/12/28 Javascript
详解Bootstrap的iCheck插件checkbox和radio
2016/08/24 Javascript
nodejs入门教程三:调用内部和外部方法示例
2017/04/24 NodeJs
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
vue如何将v-for中的表格导出来
2018/05/07 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
微信小程序上传图片并等比列压缩到指定大小的实例代码
2019/10/24 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python实现Dijkstra算法
2018/10/17 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
python使用smtplib模块发送邮件
2020/12/17 Python
python邮件中附加文字、html、图片、附件实现方法
2021/01/04 Python
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
HEMA英国:荷兰原创设计
2018/08/28 全球购物
实习生的自我评价
2014/01/08 职场文书
美德好少年事迹材料
2014/01/19 职场文书
吨的认识教学反思
2014/04/27 职场文书
春季防火方案
2014/05/10 职场文书
反四风对照检查材料思想汇报
2014/09/16 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
暑期社会实践个人总结
2015/03/06 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
vue项目打包后路由错误的解决方法
2022/04/13 Vue.js