Python实现抓取百度搜索结果页的网站标题信息_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))

时间: 2024-11-17 02:30:33

Python实现抓取百度搜索结果页的网站标题信息_python的相关文章

python抓取百度首页的方法

  本文实例讲述了python抓取百度首页的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 import urllib def downURL(url,filename): try: fp=urllib.urlopen(url) except: print('download error') return 0 op=open(filename,'wb') while 1: s=fp.read() if not

零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版_python

百度贴吧的爬虫制作和糗百的爬虫制作原理基本相同,都是通过查看源码扣出关键数据,然后将其存储到本地txt文件. 项目内容: 用Python写的百度贴吧的网络爬虫. 使用方法: 新建一个BugBaidu.py文件,然后将代码复制到里面后,双击运行. 程序功能: 将贴吧中楼主发布的内容打包txt存储到本地. 原理解释: 首先,先浏览一下某一条贴吧,点击只看楼主并点击第二页之后url发生了一点变化,变成了: http://tieba.baidu.com/p/2296712428?see_lz=1&pn=

零基础写python爬虫之抓取百度贴吧代码分享_python

这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! 复制代码 代码如下: # -*- coding: utf-8 -*- #--------------------------------------- #   程序:百度贴吧爬虫 #   版本:0.1 #   作者:why #   日期:2013-05-14 #   语言:Python 2.7 #   操作:输入带分页的地址,去掉最后面的数字,设置一下起始页数和终点页数. #   功能:下载对应页

国家版权局裁定360抓取百度内容属侵权

"剑网行动"新闻通气会现场. 12月29日,国家版权局在打击网络侵权盗版专项治理"剑网行动"新闻通气会上指出:360综合搜索提供百度网页快照不适用"避风港原则",对于百度拥有权利的作品,360要通过网页快照抓取,必须要取得百度公司的授权,未经授权随意抓取百度拥有版权的作品属侵权行为. 据了解,国家版权局已经要求360综合搜索进行整改,同时将视360的整改情况再采取进一步的管理措施.这也是自360违规抓取百度内容而引发3B大战以来,国家有关部委的首

版权局首表态:360搜索抓取百度内容须获授权

BiaNews消息12月29日,http://www.aliyun.com/zixun/aggregation/2164.html">国家 版权局等4部门昨日联合展示了2012年"剑网行动"的工作成果和视频网站主动监管工作情况.本次"剑网行动"中,国家版权局共接到 各地版权 行政执法部门报送查办的网络侵权盗版案件282件,关闭违法网站183家. 国家版权局还同时通报了对"3B大战"的最新表态,称360搜索要抓取百度内容需要获得百度

用Python程序抓取网页的HTML信息的一个小实例

  这篇文章主要介绍了用Python程序抓取网页的HTML信息的一个小实例,用到的方法同时也是用Python编写爬虫的基础,需要的朋友可以参考下 抓取网页数据的思路有好多种,一般有:直接代码请求http.模拟浏览器请求数据(通常需要登录验证).控制浏览器实现数据抓取等.这篇不考虑复杂情况,放一个读取简单网页数据的小例子: 目标数据 将ittf网站上这个页面上所有这些选手的超链接保存下来. 数据请求 真的很喜欢符合人类思维的库,比如requests,如果是要直接拿网页文本,一句话搞定: ? 1 d

版权局:360搜索抓取百度网页快照属侵权

腾讯科技讯 在日前举行的"剑网行动"发布会上,针对百度与360之间的"3B大战",国家版权局首次进行了表态--360此举不适用"避风港原则",360要通过网页快照抓取,必须要取得百度公司的授权. 在今年8月29日发生的"3B"大战,曾在业界引起轩然大波.事件起因360综合搜索上线之后,迅速取得10%市场份额,且直接抓取百度网页快照.这引发百度采取反制措施,即用户通过360综合搜索访问百度知道等服务时,将会强行跳转至百度首页.

工具-【在线等/SEO】抓取百度排名快照的功能?

问题描述 [在线等/SEO]抓取百度排名快照的功能? 实在找不到好的思路去**优化抓取百度排名快照**的功能了, 只有在这里发帖了. 有没有哪位朋友做过这样的功能.或者有没有什么 API 可以接入的. 急,感激不尽.(小弟C币不多,有机会给发红包) PS:现在我通过程序能够抓取到排名的快照数据,但是太慢了.有没有其他方式能够更快的获取到排名的数据. 解决方案 // 我的问题没有描述清楚吗? // 为什么没有人来呢. 解决方案二: // 人呢? 我准备发红包了.

利用PHP抓取百度阅读的方法示例_php技巧

前言 这篇文章主要介绍的是,如何利用PHP抓取百度阅读的方法,下面话不多说,来一起看看吧. 抓取方法如下 首先在浏览器里打开阅读页面,查看源代码后发现小说的内容并不是直接写在页面里的,也就是说小说的内容是通过异步加载而来的. 于是将chrome的开发者工具切到network一栏,刷新阅读页面,主要关注的是XHR和script两个分类下. 经过排查,发现在script分类下有个jsonp请求比较像是小说内容,请求的地址是 http://wenku.baidu.com/content/49422a3