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中marshal对象序列化的相关知识
Jul 01 Python
[原创]pip和pygal的安装实例教程
Dec 07 Python
python与sqlite3实现解密chrome cookie实例代码
Jan 20 Python
python3处理含有中文的url方法
May 10 Python
python实现Flappy Bird源码
Dec 24 Python
python操作日志的封装方法(两种方法)
May 23 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
Python检测端口IP字符串是否合法
Jun 05 Python
详解tensorflow之过拟合问题实战
Nov 01 Python
python工具快速为音视频自动生成字幕(使用说明)
Jan 27 Python
Python import模块的缓存问题解决方案
Jun 02 Python
Python 处理表格进行成绩排序的操作代码
Jul 26 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 代码规范小结
2012/03/08 PHP
PHP实现对站点内容外部链接的过滤方法
2014/09/10 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
PHP7 弃用功能
2021/03/09 PHP
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
基于jquery的划词搜索实现(备忘)
2010/09/14 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
网站繁简切换的JS遇到页面卡死的解决方法
2014/03/12 Javascript
使用jQuery Rotare实现微信大转盘抽奖功能
2016/06/20 Javascript
几句话带你理解JS中的this、闭包、原型链
2016/09/26 Javascript
JS中如何实现Laravel的route函数详解
2017/02/12 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
2018/11/26 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
mpvue网易云短信接口实现小程序短信登录的示例代码
2020/04/03 Javascript
基于react项目打包css引用路径错误解决方案
2020/10/28 Javascript
python实现代理服务功能实例
2013/11/15 Python
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
2015/06/30 Python
Django中数据库的数据关系:一对一,一对多,多对多
2018/10/21 Python
Python subprocess库的使用详解
2018/10/26 Python
使用Python函数进行模块化的实现
2019/11/15 Python
Mysql数据库反向生成Django里面的models指令方式
2020/05/18 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
Bogner美国官网:滑雪服中的”Dior”
2018/01/30 全球购物
2014年大学教师工作总结
2014/12/02 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
青年教师个人总结
2015/02/11 职场文书
期末个人总结范文
2015/02/13 职场文书
2015年秋季开学典礼校长致辞
2015/07/16 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python