python抓取百度搜索列表的实际网址和网站标题

news/2024/5/20 9:28:33/文章来源:https://blog.csdn.net/huxuanlai/article/details/78620222

# coding=utf8
import sys
import random
import string
import urllib
import urllib2
import re
#设置多个user_agents,防止百度限制IP
user_agents = ['Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20130406 Firefox/23.0', \
    'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0', \
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533+ \
    (KHTML, like Gecko) Element Browser 5.0', \
    'IBM WebExplorer /v0.94', 'Galaxy/1.0 [en] (Mac OS X 10.5.6; U; en)', \
    'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)', \
    'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.14', \
    'Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) \
    Version/6.0 Mobile/10A5355d Safari/8536.25', \
    'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) \
    Chrome/28.0.1468.0 Safari/537.36', \
    'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; TheWorld)']
def baidu_search(keyword,pn):
  p= {'wd': keyword}
  url = ("http://www.baidu.com/s?"+urllib.urlencode(p)+"&pn={0}").format(pn)
  res=urllib2.urlopen(url)
  html=res.read()
  return html
def getList(regex,text):
  arr = []
  res = re.findall(regex, text)
  if res:
    for r in res:
      arr.append(r)
  return arr
def getMatch(regex,text):
  res = re.findall(regex, text)
  if res:
    return res[0]
  return ""
def clearTag(text):
  p = re.compile(u'<[^>]+>')
  retval = p.sub("",text)
  return retval
def geturl(keyword):
  for page in range(2):
    pn=page*10+1
    html = baidu_search(keyword,pn)
    content = unicode(html, 'utf-8','ignore')
    arrList = getList(u"<div class=\"result c-container \"[\s\S]*?>([\s\S]*?</a>)", content)
    for item in arrList:
      regex = u"<h3.*?class=\".*\".*?><a[\s\S]*?href = \"([\s\S]*?)\"[\s\S]*?>([\s\S]*?)</a>"
      link = getMatch(regex,item)
      url = link[0]
      #获取标题
      title = clearTag(link[1]).encode('utf8')
      print title
      try:
        domain=urllib2.Request(url)
        r=random.randint(0,11)
        domain.add_header('User-agent', user_agents[r])
        domain.add_header('connection','keep-alive')
        response=urllib2.urlopen(domain)
        uri=response.geturl()
        print uri
      except:
        continue
if __name__=='__main__':

  geturl(sys.argv[1])

 

用法举例: python xxx.py "关联分析"

效果如图:

参考:

https://www.2cto.com/kf/201306/223584.html  代码大体没变,我对原代码的抽取标签内容的部分有修改。

 

表格内容抽取:

https://pypi.org/project/scrapely/

http://item.jd.com/26793464002.html

https://www.jianshu.com/p/136a714d5382

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_867376.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用可道云kodexplorer将dedecms网站秒变私有网盘

国内草根站长用的最多的一款建站源程序就是dedecms&#xff0c;通常是通过FTP或者服务器面板自带的文件管理器来上传下载的。FTP可视性、体验都相对差一点&#xff0c;且需要事先安装FTP软件&#xff0c;更换环境后的站点管理上有很多不便&#xff1b;另一方面&#xff0c;涉及…

如何借助网站高级工具查看url

打开音乐网址 然后按鼠标右键&#xff0c;选择审查元素 大概你们大概就是这个样子&#xff0c;当然可能有中文和英文的差距。 然后在标题上面选择网络&#xff0c;假如是英文的话就是network 然后选中副标题媒体 之后你们就能看见&#xff0c;肯定会有一个这样的东西双击打开它…

Centos7 更改Apache默认网站目录

1.找到httpd的配置文件 [rootlocalhost ~]# find / -name httpd.conf标出来的这两个文件都是apache的配置文件&#xff0c;只是一个是系统自带的&#xff08;/etc/httpd/conf/httpd.conf&#xff09;&#xff0c;一个是yum安装产生的&#xff08;/usr/local/apache2/conf/httpd…

java企业 网站源码 后台springmvc SSM 前台 freemarker 静态引擎

代码介绍&#xff1a; 1.网站后台采用主流的 SSM 框架 jsp JSTL&#xff0c;网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html&#xff0c;所以访问速度快&#xff0c;轻便&#xff0c;对服务器负担小 3.网站前端采用主流的响应式布局&#xff0c;同一页面同…

OpenCms “傻瓜建站”之 templateTwo 模块——布局篇

OpenCms “傻瓜建站”之 templateTwo 模块——布局篇1、创建测试网站“ttWeb”&#xff0c;在/sites/下创建名称为 ttWeb 的文件夹&#xff0c;标题设置为“templateTwo Web 测试”&#xff1b; 2、在opencms-system.xml文件中的 <sites> 节点中增加如下设置&#xff1a…

laravel为网站添加支付功能流程(支付宝)

为网站添加支付功能&#xff0c;本博客以添加支付宝接口为例。 一、创建应用 链接&#xff1a;蚂蚁金服开放平台 进入蚂蚁金服开放平台->开发者中心->网页&移动应用 按需求选择创建应用 选择应用功能 然后提交审核&#xff0c;大部分功能需要签约后才能使用。等…

seo初识:发布一个新的网站首先该做些什么?

一、页面对SEO流量的影响 一个网站最先产生的是页面&#xff0c;无论是首页、列表页、详情页或者其他页面。这些页面是否有人搜索&#xff0c;怎么合理的部署该页面的TDK是最开始的SEO工作&#xff0c;也是很重要的SEO工作之一。 二、爬虫 网络爬虫是一个自己主动提取网页的程…

腾讯云+tipask快速搭建基于laravel的CMS网站

一、购买腾讯云服务器&#xff0c;服务市场->基础环境->选择WordPress平台镜像 二、按照tipask教程安装 tipask官方教程地址https://wenda.tipask.com/article/22 官方教程对新手不太友好&#xff0c;我整理如下&#xff1a; 1.ftp上传文件 云服务器镜像装载完毕后&a…

SEO之关键词

长尾词 较长的、比较具体的、搜索次数比较低的词。 单个长尾词搜索次数少&#xff0c;但词的总体数量庞大&#xff0c;加起来的总搜索次数不比热门关键词搜索次数少&#xff0c;甚至更多&#xff0c;而且搜索意图更明确。 大型网站的长尾流量往往远超热门词的流量。 长尾词竞争…

音乐web网站(最后面有项目下载链接)

哔哩哔哩上项目的演示视频以及部署教程视频链接 https://b23.tv/BV18i4y1b7xc/p1 后端是java,&#xff0c;数据库用的mysql&#xff0c;前端HTMLCSSjQuery。前后端数据交互用的ajax&#xff0c;交互数据格式是json。 没登录的时候就是在首页只显示热门歌单 这是歌单界面&#…

大型网站图片服务器架构的演进

目录(?)[-] 单机时代的图片服务器架构集中式集群时代的图片服务器架构实时同步集群时代的图片服务器架构改进共享存储独立图片服务器独立域名的好处当前的图片服务器架构分布式文件系统CDN解决方案如下作者介绍 在主流的Web站点中&#xff0c;图片往往是不可或缺的页面元素&am…

大型网站架构体系的演变(上)

互联网上有很多关于网站架构的各种分享&#xff0c;有些主要是从运维和基础架构的角度去分析的&#xff08;堆机器&#xff0c;做集群&#xff09;&#xff0c;太关注技术细节实现&#xff0c;普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展&#xff…

大型网站架构体系的演变(下)

接着上篇的继续 在做扩展满足了基本的性能需求后&#xff0c;我们会逐渐关注“可用性”&#xff08;也就是我们通常听别人吹牛时说的SLA、几个9&#xff09;。如何保证真正“高可用”&#xff0c;也是个难题。 几乎主流的大中型互联网公司&#xff0c;都会有用到类似的架构&…

一个好用的开源在线时序图(波形图)绘制网站

网页分为上下两个面板&#xff0c;上面板输入一些代码&#xff0c;下面板就会显示对应的波形。有网页在线编辑和windows .exe安装版。 https://wavedrom.com/editor.html https://github.com/zhajio1988/wavedrom

为你的网站做一个安装文件

一个网站做完之后&#xff0c;马上就要上传到服务器上使用了&#xff0c;如果在上传服务器上使用的时候&#xff0c;做一个setup文件&#xff0c;直接在服务器上setup安装一下&#xff0c;这种感觉是不是很cool&#xff1f;那我们就试一试这种很cool的感觉吧。 在做好的网站项目…

PHP开发支付宝之网站支付--流程简介

前言 前端时间自己开发了一个drupal的支付宝模块&#xff0c;现在整理一下过程&#xff0c;因为支付宝官方网站提供的接口及文档都是新接口的&#xff0c;而且使用新接口的过程比较麻烦一点&#xff0c;所以整理一下 1.支付宝的账号必须经过企业资格的审核才可以进行正式环境…

原型设计大师:Axure RP网站与APP设计从入门到精通(全彩) 中文pdf扫描版

原型设计大师&#xff1a;Axure RP网站与APP设计从入门到精通内容丰富且实用&#xff0c;由浅入深地传授了Axure 原型设计工具在网站和APP设计中的应用与技巧&#xff0c;并在文中贯穿了众多精彩实战案例。书中完整展现了多个鲜活生动的综合项目案例&#xff0c;涉及门户网站高…

新手学DIV+CSS商业网站布局从入门到精通(实战案例版) 朱印宏 pdf扫描版

新手学DIVCSS商业网站布局从入门到精通&#xff08;实战案例版&#xff09;系统地讲解了CSS的基础知识和实际运用技术&#xff0c;通过大量实例对CSS进行深入浅出的分析&#xff0c;主要包括CSS的基本语法和概念&#xff0c;系统讲解CSS布局模型、CSS安全性、CSS重用性、CSS合作…

高性能网站建设进阶指南:Web开发者性能优化最佳实践 pdf扫描版

高性能网站建设进阶指南&#xff1a;Web开发者性能优化最佳实践是《高性能网站建设指南》姊妹篇。作者Steve Souders是Google Web性能布道者和Yahoo&#xff01;前首席性能工程师。在本书中&#xff0c;Souders与8位专家分享了提升网站性能的最佳实践和实用建议&#xff0c;主要…

HTML+CSS网站开发兵书 (高洪涛著) pdf扫描版

HTMLCSS网站开发兵书是一本与众不同的HTML标记语言读物&#xff0c;它以实际的网页为主&#xff0c;为读者展现了网页的组成部分及各部分的设计。其他类似的书都是以HTML标签来讲解&#xff0c;本书不同的是&#xff0c;在讲解标签举例的时候会将生活中的哲理、常识等都融入其中…