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 相关文章推荐
写了个监控nginx进程的Python脚本
May 10 Python
Python修改MP3文件的方法
Jun 15 Python
使用python实现ANN
Dec 20 Python
python bmp转换为jpg 并删除原图的方法
Oct 25 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
浅谈pytorch卷积核大小的设置对全连接神经元的影响
Jan 10 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
PyCharm中关于安装第三方包的三个建议
Sep 17 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
Python3+Django get/post请求实现教程详解
Feb 16 Python
python 判断文件或文件夹是否存在
Mar 18 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+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
浅谈laravel aliases别名的原理
2019/10/24 PHP
早该知道的7个JavaScript技巧
2013/03/27 Javascript
兼容所有浏览器的js复制插件Zero使用介绍
2014/03/19 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
JavaScript用200行代码制作打飞机小游戏实例
2017/06/21 Javascript
Node.JS 循环递归复制文件夹目录及其子文件夹下的所有文件
2017/09/18 Javascript
JS实现仿微信支付弹窗功能
2018/06/25 Javascript
ES6中定义类和对象的方法示例
2019/07/31 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
win10下Python3.6安装、配置以及pip安装包教程
2017/10/01 Python
详解使用 pyenv 管理多个版本 python 环境
2017/10/19 Python
python3 enum模块的应用实例详解
2019/08/12 Python
Pytorch使用PIL和Numpy将单张图片转为Pytorch张量方式
2020/05/25 Python
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
电子商务助理求职自荐信
2014/04/10 职场文书
社区平安建设方案
2014/05/25 职场文书
信息管理专业自荐书
2014/06/05 职场文书
社会学专业求职信
2014/07/17 职场文书
2014年施工员工作总结
2014/11/18 职场文书
2014年防汛工作总结
2014/12/08 职场文书
英文感谢信格式
2015/01/21 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
工商行政处罚决定书
2015/06/24 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书