首页 > 编程语言 >Python爬虫之数据写入

Python爬虫之数据写入

时间:2023-04-03 11:02:14浏览次数:44  
标签:Python worksheet 写入 爬虫 resultlist re import data1

Python爬虫实现爬取网站是如何进行数据写入保存的?今天我将利用我所学的知识把写入数据的一些代码教程供大家参考。

Python爬虫之数据写入_数据抓取

Python爬虫之数据写入

#写入到Excel
import xlsxwriter

#创建文件,并添加一个工作表
workbook=xlsxwriter.Workbook('demo.xlsx')
worksheet=workbook.add_worksheet()

#在指定位置写入数据
worksheet.write("A1","这是A1的数据")
worksheet.write("A2","这是A2的数据")

#关闭表格文件
workbook.close()
#爬取便民查询网常用号码,并写入到Excel
import re
import requests
import xlsxwriter

headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap\
pleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Sa\
fari/537.36"
}

response=requests.get("http://jshk.com.cn/mb/reg.asp?kefu=xjy",headers=headers).text

pat1=r'<tr bgcolor="#EFF7F0">[\s\S]*?<td>(.*?)</td>[\s\S]*?<td>[\s\S]*?</td>[\s\S]*?</tr>'
pat2=r'<tr bgcolor="#EFF7F0">[\s\S]*?<td>[\s\S]*?</td>[\s\S]*?<td>(.*?)</td>[\s\S]*?</tr>'

pattern1=re.compile(pat1)
pattern2=re.compile(pat2)

data1=pattern1.findall(response)
data2=pattern2.findall(response)

resultlist=[]

#创建表格
workbook=xlsxwriter.Workbook("demo2.xlsx")
worksheet=workbook.add_worksheet()

for i in range(0,len(data1)):
	resultlist.append(data1[i]+data2[i])

	#写入数据
	worksheet.write("A"+str(i+1),data1[i])
	worksheet.write("B"+str(i+1),data2[i])

print(resultlist)
# 关闭表格资源,这样才会完成创建
workbook.close()
#爬取便民查询网常用号码,并写入到Mysql 
#注意:需要提前创建对应字段的数据库
import re
import requests
import pymysql

#建立数据库连接
db=pymysql.Connect(host="localhost",port=3306,user="root",passwd="AA123456",db="spider_test",charset="utf8")
cursor=db.cursor()


#爬取数据
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap\
pleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Sa\
fari/537.36"
}

response=requests.get("http://jshk.com.cn/mb/reg.asp?kefu=xjy",headers=headers).text


#处理数据
pat1=r'<tr bgcolor="#EFF7F0">[\s\S]*?<td>(.*?)</td>[\s\S]*?<td>[\s\S]*?</td>[\s\S]*?</tr>'
pat2=r'<tr bgcolor="#EFF7F0">[\s\S]*?<td>[\s\S]*?</td>[\s\S]*?<td>(.*?)</td>[\s\S]*?</tr>'

pattern1=re.compile(pat1)
pattern2=re.compile(pat2)

data1=pattern1.findall(response)
data2=pattern2.findall(response)

#清空数据库原来的内容
sqll="delete from tel"
cursor.execute(sqll)
db.commit()

resultlist=[]
for i in range(0,len(data1)):
	resultlist.append(data1[i]+data2[i])

	sql="insert into tel(name,phone) values('"+data1[i]+"','"+data2[i]+"')"
	cursor.execute(sql)

print(resultlist)

db.commit()

标签:Python,worksheet,写入,爬虫,resultlist,re,import,data1
From: https://blog.51cto.com/u_13488918/6165763

相关文章

  • Python爬虫之数据写入
    Python爬虫实现爬取网站是如何进行数据写入保存的?今天我将利用我所学的知识把写入数据的一些代码教程供大家参考。Python爬虫之数据写入#写入到Excelimportxlsxwriter#创建文件,并添加一个工作表workbook=xlsxwriter.Workbook('demo.xlsx')worksheet=workbook.add_worksh......
  • python+playwright 学习-44 过登录页面的滑块拼图验证码
    前言有些登录页面经常会遇到滑块验证码,滑块的操作思路基本都差不多,先确定缺口的位置,再滑动过去。一般在滑动过去的时候,会有人机识别机制,有时候你准确的滑动位置了,但不一定会解锁成功。滑块示例以下滑块为例需先计算出滑块的缺口位置,也就是我们需要滑动的距离计算缺口位置......
  • Notepad++运行Python
    按下F5或运行->运行,输入命令cmd/kpython"$(FULL_CURRENT_PATH)"&PAUSE&EXITpythonw-midlelib-r$(FULL_CURRENT_PATH)保存,设置快捷键。之后每一次需要运行python脚本的时候,只需要按下所设置的快捷键即可。解释:—————————————————————......
  • PythonHTTP Proxy Demo 代码示例
    运行中直接嵌入,即可使用隧道模式HTTP,以华科为例#!-*-encoding:utf-8-*-importrequests#要访问的目标页面targetUrl="http://ip.hahado.cn/ip"#代理服务器proxyHost="ip.hahado.cn"proxyPort="39010"#代理隧道验证信息pro......
  • [2]Python面向对象-【1】类
    什么是类类是Python面向对象编程的基本概念之一,它是一种抽象数据类型,用于封装数据和行为。可以把类看作是一种蓝图或者模板,用于创建对象。类的命名规范类名应该采用驼峰式命名法(CamelCase),即每个单词的首字母都要大写,不使用下划线连接单词。例如,类名可以是MyClass或者MyAwesomeCl......
  • php爬虫框架盘点
    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。GoutteGoutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API来抓......
  • php爬虫框架盘点
    大数据分析必定少不了数据抓取,只有拥有海量的数据才能对数据进行对比分析。因此,网页爬虫是作为程序员必须要懂得技能,下文我将通过文字形式记录下php的爬虫框架的一些内容。GoutteGoutte库非常有用,它可以为您提供有关如何使用PHP抓取内容的出色支持。基于Symfony框架,它提供了API......
  • 20230402-Python学习里程碑-day1
    Python基础-变量与数据类型4月2安装python注意:1、勾选ADDpythontopath(可以避免手动添加Path路径)2、选择安装路径(可以避免后续使用Pycharm时,配置解析器路径)安装Pycharm选择解析器:默认安装完后,创建一个工程项目,创建xxx.py文件,你会发现NoPythoninterpreterco......
  • Python配置文件管理之ini和yaml文件读取
    当我们设计软件时,我们通常会花费大量精力来编写高质量的代码。但这往往还不够,一个好的软件还应该考虑其整个系统,如测试、部署、网络等。其中最重要的一个方面是配置管理。良好的配置管理应允许在任何环境中执行软件而不更改代码。最常见的配置包括数据库认证配置、部署服务器的主......
  • Python面试题究极篇01
    目录Python面试题第一章深浅拷贝是什么魔法方法new和init有什么区别python的可变和不可变数据类型是什么什么是生成器,有什么应用场景数据库的三大范式是什么mysql有哪些索引类型,分别有什么作用事务的特性和隔离级别Python面试题第一章深浅拷贝是什么浅拷贝和深拷贝:浅拷贝是在......