51Testing软件测试论坛

标题: 如何设置翻页,并存入mysql数据库 [打印本页]

作者: 测试积点老人    时间: 2021-12-31 10:54
标题: 如何设置翻页,并存入mysql数据库

#常用的http请求数据库
import bs4.element
import requests
from bs4 import BeautifulSoup
import pymysql
#配置请求函数
def get_url(url):

如果没有找到,异常就会被临时保存起来,最后会抛出保存的异常
  1. try:
复制代码

#配置请求头
h={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'}
#获取网页的方法
respomse=requests.get(url=url,headers=h)
#提取文本
html=respomse.text
return html
#准确的定位错误类型和错误明细
except Exception as e:
#打印遇到的异常
return e
#解析网页
#找到数据
def parse (html):

如果没有找到,异常就会被临时保存起来,最后会抛出保存的异常
  1. soup = BeautifulSoup(html, 'lxml')
复制代码
找寻网页中需要的部分
  1. lis=soup.find(name='div',attrs={'class':'volume'})
  2. a= lis.find_all(name='li')
复制代码
创建空列表,用于存储数据
  1. b = []
  2. for li in a:
  3.     divs=li.find('a').text
  4.     # 返回遍历后的数据
  5.     b.append(divs)
  6. return b
复制代码

#存储数据
def save(data):
# 设置与数据库的链接
conn = pymysql.connect(user='root', password='123456', host='192.168.5.101', database='jxc')
# 执行链接数据库的命令
cs = conn.cursor()
# 如果没有找到,异常就会被临时保存起来,最后会抛出保存的异常。
try:
# 循环保存数据
for i in data:
# sql语句,把数据存储到目标位置
sql = 'insert into 蒋心成(小说) values("{}")'.format(i)
# 执行 SQL 语句并指示第一个结果的形式
cs.execute(sql) # 执行SQL语句
conn.commit()
conn.close() # 关闭链接
# 表示代码运行正常,已将爬取到的数据保存到数据库
print("数据储存成功。。。")
# 准确的定位错误类型与错误明细
except Exception as e:
# 异常时返回
print("储存失败")
# 打印异常
print(e)

#调用函数
def main():
# 设置爬取的网站
url='https://www.hongxiu.com/book/6763341403549003'
html=get_url(url)
data=parse(html)
# 把爬取的数据返回到data来存储数据
save(data)
#调用函数
main()




作者: qqq911    时间: 2022-1-4 10:46
可以的




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2