独孤求败吗 发表于 2019-10-22 13:35

网页上的数据是aspx的,怎么用python爬呢

求问aspx的网页数据怎么爬啊 这种的数据并没有存在源代码里 xpath提取不到啊


比如http://stockdata.stock.hexun.com/zrbg/Plate.aspx?date=2018-12-31
import requests
import urllib as ulb
from lxml import etree
url = ('http://stockdata.stock.hexun.com/zrbg/Plate.aspx?date={}-12-31'.format(2018))
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36'}
req = ulb.request.Request(url=url, headers=headers)
response = ulb.request.urlopen(req)
html1 = response.read().decode('gb2312') #网页源代码
html=etree.HTML(html1)#网页源代码elements格式

stock_name=html.xpath('//div[@id="gkcTable"]/table/tbody/tr/td/a/text()')
print(stock_name)这个运行后结果是[]
啥也提取不到

hill_king 发表于 2019-10-22 14:58

F12
http://stockdata.stock.hexun.com/zrbg/data/zrbList.aspx?date=2018-12-31&count=20&pname=20&titType=null&page=1&callback=hxbase_json11571727496295

chinaqin 发表于 2019-10-22 15:08

http://stockdata.stock.hexun.com/zrbg/data/zrbList.aspx?date=2018-12-31&count=20&pname=20&titType=null&page=1&callback=hxbase_json11571728040603

独孤求败吗 发表于 2019-10-22 16:48

chinaqin 发表于 2019-10-22 15:08
http://stockdata.stock.hexun.com/zrbg/data/zrbList.aspx?date=2018-12-31&count=20&pname=20&titType=nu ...

请问您是如何找到这个链接的呢 纯小白还在探索阶段

独孤求败吗 发表于 2019-10-22 16:49

本帖最后由 独孤求败吗 于 2019-10-22 16:56 编辑

hill_king 发表于 2019-10-22 14:58
F12
http://stockdata.stock.hexun.com/zrbg/data/zrbList.aspx?date=2018-12-31&count=20&pname=20&titTy ...
我也按F12,但是不知道您发的链接是在哪找到的呢 纯小白瑟瑟发抖

直接用这个url,继续用后面的xpath爬是不是就行呢

chinaqin 发表于 2019-10-22 17:04

独孤求败吗 发表于 2019-10-22 16:48
请问您是如何找到这个链接的呢 纯小白还在探索阶段

f12后 选到那个 network然后 刷新网页,看下加载的这些,其中就有一个是接口类型的那种。
[图片]

chinaqin 发表于 2019-10-22 17:05

chinaqin 发表于 2019-10-22 17:04
f12后 选到那个 network然后 刷新网页,看下加载的这些,其中就有一个是接口类型的那种。
[图片]

就像这样

hill_king 发表于 2019-10-22 17:17

独孤求败吗 发表于 2019-10-22 16:49
我也按F12,但是不知道您发的链接是在哪找到的呢 纯小白瑟瑟发抖

直接用这个url,继续用后面的xpath爬 ...

是的,参数自己改一下就可以

独孤求败吗 发表于 2019-10-22 23:14

本帖最后由 独孤求败吗 于 2019-10-22 23:16 编辑

hill_king 发表于 2019-10-22 17:17
是的,参数自己改一下就可以
您帮忙找到的这个url里不是elements那种代码格式吧 xpath能爬吗
这个url里我不会找elements那种层层嵌套的路径,我只会这种格式的stock_name=html.xpath('//div[@id="gkcTable"]/table/tbody/tr/td/a/text()')
能否麻烦您举个例子 这个url里 比如要爬公司名称 总得分这些指标 这句代码应该怎么写呢
谢谢您

独孤求败吗 发表于 2019-10-23 08:54

chinaqin 发表于 2019-10-22 17:05
就像这样

谢谢,我找到这个了。
不过这个url爬到的代码我不会用xpath提取,因为跟elements里显示的格式不一样,这样的我还不会
比如爬其中的公司名称、总得分这些指标,您能写一句提取这些信息的代码吗
页: [1] 2
查看完整版本: 网页上的数据是aspx的,怎么用python爬呢