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查找第k小元素代码分享
Dec 18 Python
python发布模块的步骤分享
Feb 21 Python
Python装饰器入门学习教程(九步学习)
Jan 28 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
Python3.6基于正则实现的计算器示例【无优化简单注释版】
Jun 14 Python
在IPython中进行Python程序执行时间的测量方法
Nov 01 Python
python学习开发mock接口
Apr 28 Python
基于python实现从尾到头打印链表
Nov 02 Python
Python基于内置库pytesseract实现图片验证码识别功能
Feb 24 Python
使用python绘制cdf的多种实现方法
Feb 25 Python
python中print格式化输出的问题
Apr 16 Python
python pygame入门教程
Jun 01 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/05/11 PHP
php编程每天必学之验证码
2016/03/03 PHP
CodeIgniter表单验证方法实例详解
2016/03/03 PHP
php时间计算相关问题小结
2016/05/09 PHP
使用php实现网站验证码功能【推荐】
2017/02/09 PHP
PHP内存溢出优化代码详解
2021/02/26 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
jquery 中多条件选择器,相对选择器,层次选择器的区别
2012/07/03 Javascript
早该知道的7个JavaScript技巧
2013/03/27 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
jQuery中index()的用法分析
2014/09/05 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
js判断节假日实例代码
2017/12/27 Javascript
详解Chai.js断言库API中文文档
2018/01/31 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
VUE v-model表单数据双向绑定完整示例
2019/01/21 Javascript
Vue实现按钮级权限方案
2019/11/21 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python连接mysql实例分享
2016/10/09 Python
Python使用sftp实现上传和下载功能(实例代码)
2017/03/14 Python
Pandas之DataFrame对象的列和索引之间的转化
2019/06/25 Python
用Python开发app后端有优势吗
2020/06/29 Python
Python使用Selenium模拟浏览器自动操作功能
2020/09/08 Python
python实现双人五子棋(终端版)
2020/12/30 Python
python中K-means算法基础知识点
2021/01/25 Python
全球第二大家装零售商:Lowe’s
2018/01/13 全球购物
聚网科技C++面试笔试题
2015/09/01 面试题
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
计算机应用专业毕业生求职信
2013/10/24 职场文书
五水共治一句话承诺
2014/05/30 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
2015年银行信贷员工作总结
2015/05/19 职场文书
Python Pandas读取Excel日期数据的异常处理方法
2022/02/28 Python