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的基础语法、网络请求库、解析HTML或JSON数据、数据...
##### 2.1 Python抓取花椒直播主播信息 - **知识点概述**:介绍如何使用Python爬虫技术抓取花椒直播网站上的主播信息。 - **关键内容**: - 使用requests库获取网页源码; - 使用BeautifulSoup解析HTML文档; - ...
爬取企查查网站上公司的工商信息,路径大家根据自己情况自行修改,然后再在工程路径下创建个company.txt,里面输入想要爬取的公司名,就会生成该公司的工商信息网页。
在本项目中,Python不仅仅用于编写Web应用,还用于编写爬虫代码,以抓取百度文库中的数据。这通常涉及到requests库(用于发送HTTP请求)、BeautifulSoup或lxml(用于解析HTML和XML文档)以及可能的异步处理库如...
根据提供的文件内容,本文将详细解释如何利用Python进行网络爬虫操作来抓取特定网站上的美女图片,并且会对代码中的关键部分进行详细说明。 ### Python爬取美女图片 #### 一、准备工作 在开始之前,我们需要确保...
2. 百度地图API:百度地图提供了一系列的开发者接口,包括地点搜索、路径规划、地理编码等。通过调用这些API,我们可以获取到城市的经纬度、行政区域划分等地理信息,进一步结合地图展示城市位置。 3. 数据处理与...
Python作为一门广泛应用于数据处理和网络爬取的编程语言,利用其强大的第三方库,可以高效地抓取并处理网络上的数据。本文介绍了如何使用Python语言结合requests库,以面向对象的设计思想,实现对百度贴吧前1000页...
关于“百度文库”,它是百度公司推出的一个在线文档分享平台,用户可以在上面上传、分享和搜索各种类型的文档,包括课件、报告、试题、书籍等。它为用户提供了一个方便的资源共享和学习交流的环境,但也因为其部分...
实验旨在让学生掌握网络爬虫的基本原理和操作,通过爬取东华理工大学官网首页的数据初步了解爬虫工作方式,然后进一步利用Python爬虫从百度地图开发者平台获取湖南省衡阳市的火锅店POI信息,最后通过ArcGIS进行数据...
在本场景中,我们讨论的是如何通过搜索特定关键词来抓取网站的搜索结果,以百度搜索引擎为例。 首先,我们需要了解网站的URL结构。百度搜索结果的URL中,关键词通常体现在"word"参数上,例如`...
- 按批处理文件批量抓取POI不返回任何值,而是直接将抓取结果保存至指定路径。 - 分城市获取POI总量成功时返回`pandas.DataFrame`,失败时返回`None`。 - 其余四个抓取函数成功时返回`geopandas.GeoDataFrame`,失败...
- **环境变量设置**:确保Python及其相关路径已添加至系统环境变量。 #### 3.3 运行步骤 1. **解压源码包**:将下载好的压缩包解压至本地目录。 2. **阅读README文档**:通常项目根目录下会有README.md文件,其中...
4. **train_list.txt、validate_list.txt、test_list.txt**:分别存储训练集、验证集和测试集的图片路径,供模型训练和评估时使用。 5. **img**:存放爬取的原始图像文件的文件夹。 6. **work**:可能包含运行项目时...
尽管像百度、Google这样的大型搜索引擎已经为我们抓取了绝大多数的网页数据,但很多时候我们需要爬虫来实现更特定、更定制化的数据抓取需求。 在介绍网络爬虫之前,我们首先需要了解URL和URI的概念。URL是“统一...
3. 在搜索框中输入插件名称,如“批量下载图片”。 4. 找到合适的插件后,点击“添加到Chrome”或“添加到Firefox”进行安装。 5. 安装完成后,刷新需要下载图片的网页。 6. 点击插件图标,一般会弹出一个菜单,允许...
为解决这个问题,我们可以编写一个自动化脚本,利用Python等编程语言,配合Selenium等网页自动化工具,从可靠的数据源抓取全国市区县的名称和对应的经纬度信息。数据抓取后,通过去重和整理,将信息存储到本地...
fetchweather.py,fetchnote.py和main.py代码中使用了大量的绝对路径,运行代码之前请先修改路径并确保正确。 云笔记同步功能需要事先输入leanote蚂蚁的账号与密码,请在fetchnote.py中修改成自己的。 3.系统版本: ...