python 新手笔记:利用python,根据搜索关键字,抓取其结果的名称和路径。
一、百度搜索参数介绍
pn :抓取第几页内容
cl :搜索的类型 3 为网页搜索 2为新闻搜索
wd :搜索关键字
rn :需要搜索多少条结果
详情可参阅:http://blog.sina.com.cn/s/blog_3e28c8a50102v0ck.html
二、定义pthon函数
# coding: UTF-8 import urllib.request import urllib.parse import re # 查询名称 查询条数 def findBaiduUrlList(searchName,number): #定义百度搜索请求URL url="http://www.baidu.com/s?pn=0&cl=3&rn="+str(number) #将中文进行URL编码 url = url +"&wd="+urllib.parse.quote(searchName) #发起request请求,并获取返回结果 response = urllib.request.urlopen(url) #将返回结果进行转换成UTF-8转码 html = response.read().decode('utf-8') #定义截取字符串正则表达式 splitPattern = re.compile(r'<h3 \D*">') requestList = re.split(splitPattern,html) myUrl=[] for c in requestList: #清楚换行和前后空格 c=trim(c) if c.startswith('<a') : #定义返回结果 urlObj = ['',''] urlPattern = re.compile(r'http://www.baidu.com/link.{0,300}target="_blank"') urlsMatch = urlPattern.search(c) if urlsMatch: urlObj[1]= trims(urlsMatch.group()) namePattern = re.compile(r'target="_blank"\s*>.{0,40}</a>') nameMatch = namePattern.search(c) if nameMatch: urlObj[0] = trims(nameMatch.group()) myUrl.append(urlObj) else: c = '' return myUrl #清除无用字符信息 def trims(str): str = str.strip('target="_blank"') str = str.replace('<em>','').replace('</em>','').replace('</a>','') str = str.replace('>','').replace('"','').replace(' ','').replace(' ','') return trim(str) #清除换行和前后空格 def trim(str): str = str.replace('\n','').strip() return str
python正则表达式可参阅:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
三、调用代码
myUrl = findBaiduUrlList('timerbin',1) for c in myUrl: print(c)
四、输出结果
['返回链接名称','链接地址']
['TimerBin的博客-ITeye技术网站', 'http://www.baidu.com/link?url=Rvj1VAmkb6527AEXIMQnSKSRFvy4jT0BAYnHjw3Gu4npAccEysMnyRi0fj3Ziwqr']
相关推荐
python抓取百度搜索的数据,智普推荐使用教程
python 抓取百度云分享数据,百度云最新接口抓取分享链接。
该Python脚本主要是实现以上功能。 其中,使用BeautifulSoup来解析HTML,可以参考我的另外一篇文章:Windows8下安装BeautifulSoup 代码如下: 复制代码 代码如下: __author__ = ‘曾是土木人’ # -*- coding: utf-8 ...
python 爬取百度搜索结果,及安全验证问题
主要介绍了Python抓取百度查询结果的方法,涉及Python正则匹配及字符串与URL操作的相关技巧,需要的朋友可以参考下
Python 抓取百度贴吧里边的图片内容
Python脚本用于获取百度搜索结果中的标题和URL。 输入:百度关键词及搜索页面数 输出:标题和URL
python抓取youtube搜索内容代码
python抓取百度百科1000条记录,只要一个百度百科的入口链接:如: root_url = "http://baike.baidu.com/view/9936357.htm".入口文件是spider_main.py
python抓取
使用Python抓取京东数据,并用mySQL存取数据
主要介绍了python抓取并保存html页面时乱码问题的解决方法,结合实例形式分析了Python页面抓取过程中乱码出现的原因与相应的解决方法,需要的朋友可以参考下
地图瓦片抓取之python
Python 抓取 图片Python 抓取 图片Python 抓取 图片Python 抓取 图片Python 抓取 图片Python 抓取 图片
主要介绍了Python实现抓取HTML网页并以PDF文件形式保存的方法,结合实例形式分析了PyPDF2模块的安装及Python抓取HTML页面并基于PyPDF2模块生成pdf文件的相关操作技巧,需要的朋友可以参考下
python 抓取1688店铺产品详情,爬虫
代码是抓取百度贴吧帖子的回复内容的。包括帖子标题、帖子回复数量,帖子页码,回复楼层、回复时间,也可以只查看楼主的回复信息。最后将获取到的帖子信息记录到记事本中。 博客地址:...
Python3爬虫抓取百度图片中的图片,可根据需求输入关键字、图片数量