# import pymysql
# conn=pymysql.connect(host='127.0.0.1',port=3306,user='root',passwd='NAVJ-W56S-3YUU-MVHV',db='test',charset='utf8')
# cursor=conn.cursor()
# sql='''create table if not exists tao(price varchar(20),info varchar(255),market varchar(20),
# num varchar(20),address varchar(20)) charset=utf8'''
# cursor.execute(sql)
# cursor.execute('show tables')
import requests
from lxml import html
url='https://s.taobao.com/search?spm=a21bo.2017.201867-main.20.5af911d9fqZT3q&q=%E9%9B%B6%E9%A3%9F&acm=lb-zebra-634493-8613077.1003.4.8193767&scm=1003.4.lb-zebra-634493-8613077.OTHER_15917461132498_8193767'
headers={"user-agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
rqg=requests.get(url=url,headers=headers)
rqg.encoding='utf-8'
rqg_text=rqg.text
etree_tools=html.etree
format_html=etree_tools.HTML(rqg_text)
a=[]
b=[]
c=[]
d=[]
e=[]
nodes=format_html.xpath('//*[@id="mainsrp-itemlist"]/div/div')
for node in nodes:
price=node.xpath('./div[1]/div/div[2]/div[1]/div[1]/strong/text()')
for k in range(len(price)):
a_string=str(price[k])
a.append(a_string)
info=node.xpath('./div[1]/div/div[2]/div[2]/a/text()')
for k in range(len(info)):
b_string=str(info[k])
b.append(b_string)
market=node.xpath('./div[1]/div/div[2]/div[3]/div[1]/a/span[2]')
for k in range(len(market)):
c_string=str(market[k])
c.append(c_string)
num = node.xpath('./div[1]/div/div[2]/div[1]/div[2]/text()')
for k in range(len(num)):
d_string=str(num[k])
d.append(d_string)
address = node.xpath('./div[1]/div/div[2]/div[3]/div[2]/text()')
for k in range(len(address)):
e_string=str(address[k])
e.append(e_string)
print(a)
print(b)
print(c)
print(d)
print(e)
# for i in range(len(a)):
# sql="insert into tao(price,info,market,num,address) values(%s,%s,%s,%s,%s)"
# cursor.execute(sql,a[i],b[i],c[i],d[i],e[i])
# conn.commit()
# data=cursor.execute('select * from tao')
# data=cursor.fetchall()
# print(data)
# conn.close()
为啥爬不出数据,应该怎么修改?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 生如夏花帅 2020-12-31 16:32关注
现在大多数页面都是动态加载的, 你访问了页面之后,页面才访问接口获取数据, 所以你刚开始访问页面是没有数据的,你要采用动态加载的形式去加载页面
解决 无用评论 打赏 举报
悬赏问题
- ¥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驱动开发环境