news 2026/5/16 7:05:17

Python爬虫完整代码拿走不谢

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python爬虫完整代码拿走不谢

对于新手做Python爬虫来说是有点难处的,前期练习的时候可以直接套用模板,这样省时省力还很方便。

使用Python爬取某网站的相关数据,并保存到同目录下Excel。

直接上代码:

import re import urllib.error import urllib.request import xlwt from bs4 import BeautifulSoup def main(): baseurl ="http://jshk.com.cn" datelist = getDate(baseurl) savepath=".\jshk.xls" saveDate(datelist,savepath) # askURL("http://jshk.com.cn/") findlink = re.compile(r'<a href="(.*?)">') findimg = re.compile(r'<img.*src="(.*?)"',re.S) findtitle = re.compile(r'<span class="title">(.*)</span') findrating = re.compile(r'<span class="rating_num" property="v:average">(.*)</span') findjudge = re.compile(r'<span>(d*)人评价</span>') findinq= re.compile(r'<span class="inq">(.*)</span>') def getDate(baseurl): datalist =[] for i in range(0,10): url=baseurl+str(i*25) html=askURL(url) soup = BeautifulSoup(html,"html.parser") for item in soup.find_all('div',class_="item"): data = [] item = str(item) link = re.findall(findlink,item)[0] data.append(link) img=re.findall(findimg,item)[0] data.append(img) title=re.findall(findtitle,item)[0] rating=re.findall(findrating,item)[0] data.append(rating) judge=re.findall(findjudge,item)[0] data.append(judge) inq=re.findall(findinq,item) if len(inq)!=0: inq=inq[0].replace("。","") data.append(inq) else: data.append(" ") print(data) datalist.append(data) print(datalist) return datalist def askURL(url): head = { "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.97 Safari/537.36"} request=urllib.request.Request(url,headers=head) html="" try: response=urllib.request.urlopen(request) html=response.read().decode("utf-8") # print(html) except urllib.error.URLError as e: if hasattr(e,"code"): print(e.code) if hasattr(e,"reason"): print(e.reason) return html def saveDate(datalist,savepath): workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('电影',cell_overwrite_ok=True) col =("电影详情","图片","影片","评分","评价数","概况") for i in range(0,5): worksheet.write(0,i,col[i]) for i in range(0,250): print("第%d条" %(i+1)) data=datalist[i] for j in range(0,5): worksheet.write(i+1,j,data[j]) workbook.save(savepath) if __name__ == '__main__': main() print("爬取完毕")

直接复制粘贴就行。

若要更改爬取网站,则需要更改URL以及相应的html格式(代码中的“item”)。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 10:07:47

Linux命令-ipcs命令(报告进程间通信(IPC)设施状态的实用工具)

&#x1f9ed; 说明 ipcs 是 Linux 系统中用于报告进程间通信&#xff08;IPC&#xff09;设施状态的实用工具&#xff0c;对于系统管理和程序调试非常有帮助。下面是其主要用法和关键信息的总结。 核心选项与功能 下表汇总了 ipcs 命令的常用选项。选项功能说明-a显示所有 IPC…

作者头像 李华
网站建设 2026/5/1 5:35:43

探索基于UDS的Bootloader:从功能到源码实践

基于UDS的Bootloader&#xff0c;提供上下位机源码&#xff0c;可提供测试用例&#xff0c;支持autosar&#xff0c;可定制xcp&#xff0c;ccp&#xff0c;uds&#xff0c;包括illd和mcal两个版本&#xff0c;TC233/TC234/TC264/TC275/TC277/TC297/TC299/TC387/TC397&#xff0…

作者头像 李华
网站建设 2026/4/28 0:29:59

带宽与网速是一回事吗

带宽:指网络传输的“能力上限“车道好比公路的宽度决定最多能同时过多少车单位 Mbps(兆比特每秒)&#xff0c;1Mbps1024Kbps。网速:实际传输的「真实速度」好比车辆实际行驶速度&#xff0c;受多种因素影响&#xff0c;单位MB/s(兆字节每秒) IMB8Mb。理论网速计算 公式:理论网速…

作者头像 李华
网站建设 2026/5/8 13:53:10

飞控驱动调试常见问题:一文说清核心要点

飞控驱动调试实战指南&#xff1a;从问题定位到系统优化你有没有遇到过这种情况——飞控上电后&#xff0c;Betaflight Configurator 显示“GYRO_NOT_FOUND”&#xff1f;或者飞行中突然失控进入 Failsafe 模式&#xff1f;又或者 Blackbox 日志里 IMU 数据抖得像心电图&#x…

作者头像 李华
网站建设 2026/5/14 10:52:23

[内网流媒体] 从审计视角看内网服务设计

审计关注什么 谁在什么时候访问了什么资源; 是否有未经授权的访问; 是否符合公司安全/合规要求; 发生问题时能否追溯责任与影响范围。 关键设计点 访问日志 记录时间、IP、路径/流标识、状态码、鉴权结果、User-Agent。 按天滚动,统一时间格式,便于分析与留存。 身份与权…

作者头像 李华
网站建设 2026/5/14 6:55:44

DeviceDisplayStatusManager.dll文件丢失找不到问题 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华