他的回复:
基于RDS For MySQL爬虫实践云数据库(SQL Server)+云数据库客户端(DAS)背景本教程爬取的是新浪微博微公益平台的微拍卖拍品信息列表。 爬虫爬取的信息为拍品序号、拍品名称、起拍价和当前价。我们需要在数据库中构建一个存储这4个信息的表格,随后用爬虫爬取数据将数据存入数据库中。字段名字段说明举例Id序号1project_name拍品名称春节晚会小虎队演出服-霹雳虎project_start_price起拍价100Project_now_price当前价57680 下面,让我们开始搭建小爬虫吧!1.下载软件1.1 下载pycharm community版>下载路径:https://www.jetbrains.com/pycharm/download/#section=windows 选择community版1.2下载python2.7.15>下载路径:https://www.python.org/downloads/release/python-2715/,选择Windows x86-64 MSI installer2.安装2.1 安装python-2.7.15>运行python-2.7.15.amd64.msi>Install for all users>选择目标路径,点击Next>点击Next>点击Finish2.2 安装PyCharm>运行pycharm-community-2018.2.1.exe>点击Next>选择默认路径即可,也可以自定义路径,点击Next。>根据系统操作系统版本选择, 64位系统选择64-bit launcher, 其他勾选如上图。>点击Install>勾选Run Pycharm Community **,点击Finish>运行PyCharm>阅读完政策说明后点击Accept>点击create new project>设置Project的存储路径>点击create>点击close2.3在pycharm中安装第三方库>点击file>点击settings>点击project untitled1(其中untitled1为自定义的项目名)>点击 project interpreter>点击右侧的“+”号>在搜索框中输入pymssql,选中pymssql,点击Install Package出现以下提示说明安装成功,关闭PyCharm 3.购买云数据库在华为云官网开发者支持计划领取免费套餐,或者购买SQL Server数据库4.申请数据库客户端DAS>目前DAS在公测阶段,您可以通过以下链接申请免费试用https://www.huaweicloud.com/product/das.html5.登录华为云数据库管理页面>DAS服务申请成功后登陆管理控制台,选择您要存储数据的实例,点击登陆,跳转到DAS登陆页面输入管理员账户名和密码,账户名可在实例信息页面查到,一般默认为rdsuser,密码为您在购买数据库实例时输入的管理员密码。 >登陆DAS后右键点击实例名>点击SQL窗口,将以下SQL语句输入编辑框中,点击执行SQL语句。BEGIN TRANSACTIONSET QUOTED_IDENTIFIER ONSET ARITHABORT ONSET NUMERIC_ROUNDABORT OFFSET CONCAT_NULL_YIELDS_NULL ONSET ANSI_NULLS ONSET ANSI_PADDING ONSET ANSI_WARNINGS ONCOMMITBEGIN TRANSACTIONUSE [sina];CREATE TABLE [sina].[dbo].[sina_paimai]( [id] int NOT NULL IDENTITY (1,1) , [project_name] nvarchar(max) NULL , [project_start_price] nvarchar(max) NULL , [project_now_price] nvarchar(max) NULL );ALTER TABLE [dbo].[sina_paimai] ADD CONSTRAINT [PK_sina_paimai] PRIMARY KEY CLUSTERED ( [id] ) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY];ALTER TABLE [dbo].[sina_paimai] SET (LOCK_ESCALATION = TABLE);COMMIT完成上述步骤后我们已经在sina中新建了一张名为sina_paimai的表,表**有四个字段,分别是id,project_name,project_start_price,project_now_price 6.完成以上步骤后,只差最后一步,爬虫就搭建完成啦。>打开pycharm>右键点击project untitled1>点击new>点击python file 给你要创建的python程序起一个名字,点击OK.然后把以下“sina爬虫.txt”代码复制进你刚刚创建的python文件中,并把以下这段代码中的前四个字段依次改成你的数据库实例公网IP:端口号,数据库账户名,密码和数据库名保存就可以啦~connection=pymssql.connect( 'xxx.xxx.x.xxx:xxxx', 'rdsuser', 'xxxxxxxx', 'sina', charset='utf8', )爬虫代码: #coding=utf-8import sysimport stringimport pymssqlreload(sys)sys.setdefaultencoding('utf-8')import urllib2 as urlimport re#获取新浪微博微公益平台微拍卖第一页的源代码html='https://gongyi.weibo.com/list/auction?on_state=0&theme_id=0&title=&order=hot&page=1'content=url.urlopen(html)text=content.read()#解析网页源代码,用正则表达式获取源代码中的拍品名、起拍价和当前价project_name=re.findall(r'(.*?)', text)project_start_price=re.findall(r'起拍价(.*?)元,当前价', text)project_now_price=re.findall(r'当前价(.*?)元', text)#连接到云数据库,以下四个字段分别为数据库IP地址:端口号,管理员账户名,管理员密码,数据库名connection=pymssql.connect( 'xxx.xxx.x.xxx:xxxx', 'rdsuser', 'xxxxxxxx', 'sina', charset='utf8', )#用sql语句把拍品名、起拍价和当前价拆入到已经建好的sina_paimai表中try: for i in range(0,len(project_name),1): cursor=connection.cursor() sql="insert into [sina_paimai]([project_name],[project_start_price],[project_now_price])VALUES(N'"+str(project_name)+"',N'"+str(project_start_price)+"',N'"+str(project_now_price+"')" cursor.execute(sql) connection.commit()finally: connection.close(); 最后点击run!7.在数据库客户端DAS中查看爬取的数据>登录DAS, 在SQL窗口中输入SELECT * FROM `sina_paimai`,点击执行SQL就可以看到爬取的结果啦