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实现批量转换文件编码(批转换编码示例)
Jan 23 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
python3+PyQt5实现支持多线程的页面索引器应用程序
Apr 20 Python
opencv python 图像去噪的实现方法
Aug 31 Python
python 二维数组90度旋转的方法
Jan 28 Python
使用python将mysql数据库的数据转换为json数据的方法
Jul 01 Python
python 获取等间隔的数组实例
Jul 04 Python
Python + Flask 实现简单的验证码系统
Oct 01 Python
深入理解Tensorflow中的masking和padding
Feb 24 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
Jul 14 Python
python识别验证码的思路及解决方案
Sep 13 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导出oracle库的php代码
2009/04/20 PHP
PHP分页详细讲解(有实例)
2013/10/30 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
jQuery异步提交表单的两种方式
2016/09/13 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
2016/11/21 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
浅谈js的解析顺序 作用域 严格模式
2017/10/23 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
vue中引用swiper轮播插件的教程详解
2018/08/16 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python 使用re.search()筛选后 选取部分结果的方法
2018/11/28 Python
Python多线程获取返回值代码实例
2020/02/17 Python
基于pygame实现童年掌机打砖块游戏
2020/02/25 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
2020/07/05 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
世界上最大的巴士旅游观光公司:Big Bus Tours
2016/10/20 全球购物
Java中实现多态的机制
2015/08/09 面试题
总经理岗位职责
2013/11/09 职场文书
中层干部岗位职责
2013/12/18 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
元旦晚会活动总结
2014/07/09 职场文书
青年志愿者服务活动总结
2015/05/06 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
2016读书月活动心得体会
2016/01/14 职场文书
职业生涯规划书之大学四年
2019/08/07 职场文书
最新农村养殖致富:资金投入较低的创业项目有哪些?
2019/09/26 职场文书
HTML实现仿Windows桌面主题特效的实现
2022/06/28 HTML / CSS