当前位置: 首页 > news >正文

网站建设公司公司我我提供一个平台如何网络推广运营

网站建设公司公司我我提供一个平台,如何网络推广运营,学做川菜的网站,网站排名怎样做有效🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收…

🏆本文收录于《CSDN问答解惑-专业版》专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

问题描述

  关于#python#的问题 ,但生成的excel文件内无爬取的数据存在

# coding=utf-8
from bs4 import BeautifulSoup
import re
import urllib.request, urllib.error
import xlwt
findLink = re.compile(r"alt=\"(.*?)\"")
findImgSrc = re.compile(r'<div class="comment-star (?<!\d)(star\d+)"</div>')
findRating = re.compile(r'<div class="comment-time">(.*?)<\/div>')
findJudge = re.compile(r'<p class="comment-con">(.*?)<\/p>/i')
def main():baseurl = "https://item.jd.com/100027211987.html#comment"  #要爬取的网页链接# 1.爬取网页datalist = getData(baseurl)savepath = "小米手环7pro.xls"saveData(datalist,savepath)
def getData(baseurl, comment=None):datalist = []  # 用来存储爬取的网页信息url = baseurl + str(10)html = askURL(url)  # 保存获取到的网页源码# 2.逐一解析数据soup = BeautifulSoup(html, "html.parser")for item in soup.find_all('div', class_="comment-item"):  # 查找符合要求的字符串data = []item = str(comment-item)link = re.findall(findLink, item)[0]data.append(link)imgSrc = re.findall(findImgSrc, item)[0]data.append(imgSrc)rating = re.findall(findRating, item)[0]data.append(rating)judgeNum = re.findall(findJudge, item)[0]data.append(judgeNum)return datalist
def askURL(url):head = {"User-Agent": "Mozilla / 5.0(Windows NT 10.0; Win64; x64) AppleWebKit / 537.36(KHTML, like Gecko) Chrome / 80.0.3987.122  Safari / 537.36"}request = urllib.request.Request(url, headers=head)html = ""try:response = urllib.request.urlopen(request)html = response.read().decode("utf-8")except urllib.error.URLError as e:if hasattr(e, "code"):print(e.code)if hasattr(e, "reason"):print(e.reason)return html
# 保存数据到表格
def saveData(datalist,savepath):print("save.......")book = xlwt.Workbook(encoding="utf-8",style_compression=0) #创建workbook对象sheet = book.add_sheet('小米手环7pro', cell_overwrite_ok=True) #创建工作表col = ("用户名","评分","日期","评价")for i in range(0,4):sheet.write(0,i,col[i])  #列名for i in range(0, min(len(datalist), 10)):data = datalist[i]for j in range(0,4):sheet.write(i+1,j,data[j])  #数据book.save(savepath) #保存
# 保存数据到数据库
if __name__ == "__main__":  # 当程序执行时# 调用函数main()# init_db("movietest.db")print("爬取完毕!")

该代码可以成功运行,但生成的excel文件内无爬取的数据存在,请问应如何解决?

如上问题有来自我自身项目开发,有的收集网站,有的来自读者,如有侵权,立马删除。

解决方案

  如下是上述问题的解决方案,仅供参考:

  您的代码中存在几个问题,这可能是导致生成的Excel文件内没有数据的原因:

  1. getData 函数中的URL拼接错误:在getData函数中,您尝试通过baseurl + str(10)来拼接URL,但这并不是一个有效的URL。您可能想要通过分页来获取数据,但是需要根据实际网页的分页机制来构造正确的URL。

  2. getData 函数中comment参数未使用:函数定义了comment参数,但在函数体内并没有使用这个参数。

  3. 正则表达式使用错误:在getData函数中,您使用了re.findall来查找匹配项,但是您试图从findLinkfindImgSrcfindRatingfindJudge的查找结果中直接使用[0]索引,这假设了每个正则表达式至少有一个匹配项。如果没有匹配项,这将导致索引错误。

  4. 数据存储逻辑错误:在for item in soup.find_all('div', class_="comment-item"):循环中,您应该在找到每个comment-item后将数据添加到datalist中,但当前的逻辑是将数据添加到局部变量data中,并没有将data添加到datalist

  5. saveData函数中数据量限制:在for i in range(0, min(len(datalist), 10)):循环中,您限制了最多只保存10条数据,即使datalist中有更多的数据。

以下是针对上述问题的一些修正建议:

  • 确保URL拼接正确,如果需要分页,需要根据实际的分页URL结构来调整代码。
  • 移除未使用的comment参数。
  • 在使用re.findall后,检查结果列表是否非空,然后再访问第一个元素。
  • 在解析每个comment-item后,应该将完整的data列表添加到datalist中。
  • 根据实际需要调整saveData函数中保存数据的数量限制。

修正后的getData函数示例:

def getData(baseurl, page=None):datalist = []  # 用来存储爬取的网页信息if page:url = f"{baseurl}?page={page}"else:url = baseurlhtml = askURL(url)  # 保存获取到的网页源码soup = BeautifulSoup(html, "html.parser")for item in soup.find_all('div', class_="comment-item"):data = []link = findLink.search(item)if link:data.append(link.group(1))else:data.append("")imgSrc = findImgSrc.search(item)if imgSrc:data.append(imgSrc.group(1))else:data.append("")rating = findRating.search(item)if rating:data.append(rating.group(1))else:data.append("")judgeNum = findJudge.search(item)if judgeNum:data.append(judgeNum.group(1))else:data.append("")datalist.append(data)  # 将数据添加到datalistreturn datalist

请注意,您可能还需要根据实际网页的结构调整正则表达式和BeautifulSoup的解析逻辑。此外,确保您的网络请求头User-Agent是有效的,以避免被网站阻止。

  希望如上措施及解决方案能够帮到有需要的你。

  PS:如若遇到采纳如下方案还是未解决的同学,希望不要抱怨&&急躁,毕竟影响因素众多,我写出来也是希望能够尽最大努力帮助到同类似问题的小伙伴,即把你未解决或者产生新Bug黏贴在评论区,我们大家一起来努力,一起帮你看看,可以不咯。

  若有对当前Bug有与如下提供的方法不一致,有个不情之请,希望你能把你的新思路或新方法分享到评论区,一起学习,目的就是帮助更多所需要的同学,正所谓「赠人玫瑰,手留余香」。

☀️写在最后

  ok,以上就是我这期的Bug修复内容啦,如果还想查找更多解决方案,你可以看看我专门收集Bug及提供解决方案的专栏《CSDN问答解惑-专业版》,都是实战中碰到的Bug,希望对你有所帮助。到此,咱们下期拜拜。

码字不易,如果这篇文章对你有所帮助,帮忙给 bug菌 来个一键三连(关注、点赞、收藏) ,您的支持就是我坚持写作分享知识点传播技术的最大动力。

同时也推荐大家关注我的硬核公众号:「猿圈奇妙屋」 ;以第一手学习bug菌的首发干货,不仅能学习更多技术硬货,还可白嫖最新BAT大厂面试真题、4000G Pdf技术书籍、万份简历/PPT模板、技术文章Markdown文档等海量资料,你想要的我都有!

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等社区博客专家,C站博客之星Top30,华为云2023年度十佳博主,掘金多年度人气作者Top40,掘金等各大社区平台签约作者,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者;全网粉丝合计 30w+;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试真题、4000G PDF电子书籍、简历模板等海量资料,你想要的我都有,关键是你不来拿哇。


http://www.yayakq.cn/news/248921/

相关文章:

  • 如何建立一个网站并运行ui做的好看的论坛网站
  • 合肥++网站建设如何找外贸公司合作
  • 网站开发的目的意义国内优秀网站赏析
  • 怎么从网站知道谁做的公司建设网站的费用
  • 网站服务器备案查询网站备案政务服务网站的建设原则
  • 清风网站建设查询网站收录命令
  • 应用网站制作郑州微信小程序定制公司
  • 天津城乡住房建设厅网站首页装修包工头接活网站
  • 直播间网站开发wordpress 自动安装 插件怎么用
  • 建站之星怎么使用如何做视频类网站
  • 全屏网站模板制作北京的网页设计
  • 怎么在本地做网站竹子建站下载
  • 网站的栏目设计wordpress给文章添加子页面
  • 不上此网站枉做男人排名优化上首页怎么做
  • 如何规划网站栏目网站建设公众号开发
  • 网站接入支付宝在线交易怎么做单位网站建设的报告
  • 做理财的网站有哪些网站如何配置域名
  • 建设网站对服务器有什么要求论坛网站需要多大的空间
  • 网站备案 有什么用网站建设合同黑客攻击
  • 佛山市住房和建设局网站首页前端考什么证书含金量高
  • 怎么网站定制广州高端网站设计
  • 网络培训网站网站推广途径选择
  • 黄岛区做网站的青岛网站建设全包
  • 社区门户网站建设方案我的网站是面向全国的选哪个公司的服务器比较好
  • 为某网站做网站推广策划方案集团公司网站建设策划方案
  • 3gcms企业手机网站整站源码asp在线音乐网站模板
  • 企业网站设计制作服务黑群晖安装wordpress
  • 做网站建设一年能赚多少钱承德信息网58
  • 驻马店做网站优化网站页面架构怎么写
  • 四川网站建设案例单招网注册推广赚钱一个80元