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冒泡排序算法的实现代码
Nov 21 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
May 25 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
python清除指定目录内所有文件中script的方法
Jun 30 Python
Python编程中对super函数的正确理解和用法解析
Jul 02 Python
python+opencv实现的简单人脸识别代码示例
Nov 14 Python
Python解析命令行读取参数--argparse模块使用方法
Jan 23 Python
python实现textrank关键词提取
Jun 22 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
Python 如何在字符串中插入变量
Aug 01 Python
jupyter notebook指定启动目录的方法
Mar 02 Python
python库sklearn常用操作
Aug 23 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简单处理表单输入的特殊字符的方法
2016/02/03 PHP
thinkphp,onethink和thinkox中验证码不显示的解决方法分析
2016/06/06 PHP
PHP 实现公历日期与农历日期的互转换
2017/09/13 PHP
PHP面向对象程序设计之接口的继承定义与用法详解
2018/12/20 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
使用户点击后退按钮使效三行代码
2007/07/07 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
javascript实现复制与粘贴操作实例
2014/10/16 Javascript
javascript感应鼠标图片透明度显示的方法
2015/02/24 Javascript
简介JavaScript中的push()方法的使用
2015/06/09 Javascript
Node.js连接postgreSQL并进行数据操作
2016/12/18 Javascript
bootstrap3 dialog 更强大、更灵活的模态框
2017/04/20 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
JavaScript实现的贝塞尔曲线算法简单示例
2018/01/30 Javascript
vue项目环境变量配置的实现方法
2018/10/12 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
Layer.js实现表格溢出内容省略号显示,悬停显示全部的方法
2019/09/16 Javascript
vue3.0搭配.net core实现文件上传组件
2020/10/29 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python如何读取MySQL数据库表数据
2017/03/11 Python
Python中的__slots__示例详解
2017/07/06 Python
python书籍信息爬虫实例
2018/03/19 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
python 制作磁力搜索工具
2021/03/04 Python
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
耐克波兰官方网站:Nike波兰
2019/09/03 全球购物
造型师求职自荐信
2013/09/27 职场文书
毕业生精彩的自我评价分享
2013/10/06 职场文书
开工庆典邀请函范文
2014/01/16 职场文书
投资合作协议书范本
2014/04/17 职场文书
中职三好学生事迹材料
2014/08/24 职场文书
小学二年级数学教学计划
2015/01/20 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
2016春季校长开学典礼致辞
2015/11/26 职场文书