思路:

  先将需要获取的匹配出,然后可以用"永真"(即while True:)来遍历使得URL可以一直自增变化(百度点击下一页URL的pn参数就增加10)每增加10就爬行一遍URL然后提取一次数据。

#-*-coding:UTF-8-*-

import sys,re,requests,graphics,Tkinter
import easygui as gui string = raw_input("string is :")
pn = 0
while True:
url = "http://www.baidu.com/s?wd=%s&pn=%d" % (string, pn)
pn += 10
html = requests.get(url).text
# html = """
# <div class="c-tools" id="tools_2269957611132062659_2" data-tools='{"title":"织梦CMS 官方网站 - 内容管理系统 - 上海卓卓网络科技有限公司","url":"http://www.baidu.com/link?url=gXtstOFbadX8Lia_Fwwl_AS8VUgXEfqcHe4bpP6Paj-BIGvrYgaUwI4BXvB2M4vg"}'><a class="c-tip-icon"><i class="c-icon c-icon-triangle-down-g"></i></a></div>
# """
res = "<div .*? data-tools=(.*?)>.*?</div>"
con = re.findall(res, html)
for i in con:
d = eval(i.strip("'"))#将正则匹配到的json格式的数据转换为字典,eval即为转换。
print "title:" + d[u'title'] + " " + d['url'] num = raw_input(u"e or q:")
if num == "q":
exit()

后期又修改了一下.

 #!/usr/bin/env python
#encoding:utf-8
#by i3ekr import sys,re,requests,time,json
print """ #G
#K
.Et
:#
: ##
##Dj K
.####G###
E;#####f;
########
#######.
.i#L#,t
DEDECMS """
string = raw_input("string is :")
pn = 0
nn = 0
r = requests.session()
head = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko'}
while True:
url = "http://www.baidu.com/s?wd=%s&pn=%d" % (string, pn)
html = r.get(url, headers=head).text
res = "<div .*? data-tools=(.*?)>.*?</div>"
con = re.findall(res, html)
pn += 10
nn += 1
try:
for i in con:
a = eval(eval(i))
b = r.get(a.get("url"), headers=head)
print "[%s] %s"%(nn,b.url)
except Exception as e:
pass

爬行百度标题&URL案例的更多相关文章

  1. 百度搜索URL中的参数都是什么

    最近,点石排名更新了一个新功能——站内搜索.其实理解起来也很简单,就是通过URL限定搜索结果为某个网站,从而参与点击(例如:https://www.baidu.com/s?wd=SEO&si= ...

  2. 零基础学习java------23---------动态代理,ip,url案例

    1. 动态代理 2. ip,url案例 给定的access.log是电信运营商的用户上网数据,第一个字段是时间, 第二个字段是ip地址,第三个字段是访问的网站,其他字段可以忽略不计. 第一个字段是网段 ...

  3. 百度UEditor开发案例(JSP)

    本案例的开发环境:MyEclipse+tomcat+jdk     本案例的开发内容: 用百度编辑器发布新闻(UEditor的初始化开发部署) 编辑已发过的新闻(UEditor的应用——编辑旧文章) ...

  4. 百度搜索URL参数 搜索关键字

    http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...

  5. 百度搜索URL参数你知道多少

    http://www.baidu.com/s?wd=关键字 wd(Keyword):查询的关键词: http://www.baidu.com/s?wd=关键字&cl=3 cl(Class):搜 ...

  6. 百度搜索URL参数

    http://www.baidu.com/s?wd=关键字wd(Keyword):查询的关键词:http://www.baidu.com/s?wd=关键字&cl=3cl(Class):搜索类型 ...

  7. 百度搜索URL参数含义

    序号 参数 含义 1 tn 搜索框所属网站.比如 tn=sitehao123,就是 http://www.hao123.com/ 左上那个搜索框(指通过什么方式到达百度首页搜索界面;) 2 s?wd ...

  8. 百度搜索结果页url参数详解

    在百度首页输入任意关键词搜索之后,我们跳转到搜索结果页面,在浏览器的网址栏我们可以看到很长的一串url地址.那么,你真的了解这一串url的含义吗? s?:搜索 百度搜索结果页使用了重定向,因此我们看到 ...

  9. B站标题/子标题/url爬取示例(requests+re)

    #coding:utf-8 __author__ = "zhoumi" 3 import requests import re import urllib ''' 本文档目的在于获 ...

随机推荐

  1. android studio 运行太慢了

    Android Studio每次升级/安装 Android Studio 之后最好都修改一下这个参数:到 Android Studio 安装目录,找到 bin/studio(64?).vmoption ...

  2. 第82天:jQuery中prop()和attr()的区别

    在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了. 关于它们两个的区别,网上的答案很多.这里谈谈我的心得,我的心得很简单: ...

  3. BZOJ 1188 分裂游戏(sg函数)

    如果把每堆巧克力看做一个子游戏,那么子游戏会互相影响. 如果把全部堆看做一个子游戏,那么状态又太多. 如果把每一个单独的巧克力看成一个子游戏的话,那么状态很少又不会互相影响. 令sg[i]表示一个巧克 ...

  4. 【数据库_Mysql】JAVA-数据库Date格式在前台JSP页面的获取

    问题: 数据库保存的为date格式的日期 在前台JSP页面显示的为一串数字1487897     解决办法: 数据库表中字段对应的实体对象属性的get方法上添加一行代码 页面即可正常显示      

  5. 题解 P1781 【宇宙总统】

    小金羊发现用的方法和python大佬们的方法还是不一样... (大概是我太弱了qAq) emmm... (Mode:Python 3)Code: a=int(input()) #几个数 L=list( ...

  6. 计算机网络:A、B、C、D和E类IP地址

    IP地址分为A,B,C,D,E五类. 网络号:用于识别主机所在的网络:主机号:用于识别该网络中的主机. 其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用.这三种是主要的. IP ...

  7. 【刷题】洛谷 P4716 【模板】最小树形图

    题目背景 这是一道模板题. 题目描述 给定包含 \(n\) 个结点, \(m\) 条有向边的一个图.试求一棵以结点 \(r\) 为根的最小树形图,并输出最小树形图每条边的权值之和,如果没有以 \(r\ ...

  8. 解题:AHOI 2005 航线规划

    题面 这种不断删边的首先肯定想到时光倒流啊=.= 在最后剩下的连通图上跑出一棵搜索树,先将边权都赋为$1$,那么两点间的关键航线就是链上边权和,而每加入一条非树边$u,v$都会使得$u,v$链上的边的 ...

  9. 【arc075F】Mirrored

    Portal --> arc075_f Solution ​  一开始抱着"我有信仰爆搜就可以过"的心态写了一个爆搜.. ​  但是因为..剪枝和枚举方式不够优秀愉快T掉了q ...

  10. 【BZOJ 4449】[Neerc2015]Distance on Triangulation 多边形分治结构

    这题好神啊……正解方向是分治,据我所知的分治方法有:I.离线后直接对多边形以及所有的询问进行分治 II.建立多边形的分治结构(对于三角形来说类似线段树,对于对角线来说类似平衡树),然后每次在这个分治结 ...