import pymysql conn=pymysql.connect(host='127.0.0.1',port=3306,db='test',passwd='NAVJ-W56S-3YUU-MVHV',user='root',charset='utf8') cursor=conn.cursor() sql='''create table if not exists jin(date varchar(20),week varchar(20), weather varchar(20),low varchar(20),high varchar(20)) charset=utf8''' cursor.execute(sql) cursor.execute('show tables') import requests from lxml import html url='https://www.tianqi.com/jintaiqu/15/' html_code=requests.get(url=url) html_code.encoding='utf-8' html_text=html_code.text etree_tools=html.etree format_html=etree_tools.HTML(html_text) li_lists=format_html.xpath('//*[@class="weaul"]/li/a') for node in li_lists: da=node.xpath('./div[1]/span[1]/text()') wee=node.xpath('./div[1]/span[2]/text()') wea=node.xpath('./div[3]/text()') lo=node.xpath('./div[4]/span[1]/text()') hig=node.xpath('./div[4]/span[2]/text()') print(da) print(wee) print(wea) print(lo) print(hig) for k in range(len(da)): sql="insert into jin (date,week,weather,low,high) values(%s,%s,%s,%s,%s)" cursor.execute(sql,(da[k],wee[k],wea[k],lo[k],hig[k])) conn.commit() data=cursor.execute('select * from jin') data=cursor.fetchall() print(data) conn.close()
怎么能够把数据爬取出来,我搞错了啥?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- storm_huang 2020-12-29 17:54关注
da、wee、lo、hig这几个参数没在for循环定义,在li_lists的循环外使用。可以把插入数据库操作放到li_lists的循环内。或者把这几个变量在循环外定义成数组,循环把数据加入到数组中。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥30 STM32 INMP441无法读取数据
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境