Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 模糊不清,无法在网站中找到文本阶段_Python_Parsing_Scrapy - Fatal编程技术网

Python 模糊不清,无法在网站中找到文本阶段

Python 模糊不清,无法在网站中找到文本阶段,python,parsing,scrapy,Python,Parsing,Scrapy,我正试图提取文本 60天从网站A 从网站B终身访问 我尝试使用absxpath,两者都不返回任何内容 暂时 为了B nor css路径 .u-weight--bold.type--magic9.u-inline 我相信我想要提取的文本不是由javascript生成的。所以我不知道我还能做什么来解决这个问题 请协助 提前感谢您。不幸的是,它是由javascript生成的。因此,您可能需要使用类似于selenium的东西来实现这一点。您需要的信息由Javascript呈现,但在页面中也可以使用

我正试图提取文本

60天从网站A

从网站B终身访问

我尝试使用absxpath,两者都不返回任何内容

暂时

为了B

nor css路径

.u-weight--bold.type--magic9.u-inline
我相信我想要提取的文本不是由javascript生成的。所以我不知道我还能做什么来解决这个问题

请协助


提前感谢您。

不幸的是,它是由javascript生成的。因此,您可能需要使用类似于selenium的东西来实现这一点。

您需要的信息由Javascript呈现,但在页面中也可以使用JSON格式。您只需选择包含数据的元素,使用JSON lib解析数据并访问所需字段

因此,您可以正常访问它:

for x in json_data['variants']:
    print(x['online_duration'])

需要注意的是,该站点对每种产品都有一些变体,并且有更多字段使用相同的字符串。您必须了解该网站如何组织产品以获得正确的数据,但这种方法应该足以访问您需要的所有信息。

ahh我认为所有脚本包装的数据都在其中block@CongLuo是的,有时你可以在那里找到信息,但通常都是由浏览器生成的
.u-weight--bold.type--magic9.u-inline
import json
import pprint

data = response.xpath(
    '//div[@data-react-class="vs.CurrentRegionOnlyWarningModal"]'
    '/@data-react-props')
.extract_first()

json_data = json.loads(data)

pprint.pprint(json_data)
{'selectedVariant': None,
 'variants': [{'asset_id': 88677112,
               'created_at': '2016-10-07T14:17:10.000Z',
               'deleted_at': None,
               'distributable': True,
               'downloadable_duration': 'perpetual',
               'full_base_currency': 'USD',
               'full_base_price': '107.5',
               'full_currency': 'USD',
               'full_price': '107.5',
               'full_price_converted': False,
               'id': 476831514,
               'import_id': 'a3b99a3de0df7d0442253798cba8b8ea',
               'in_store': True,
               'item_type': 'Single',
               ....
               'online_duration': '60 days',      
for x in json_data['variants']:
    print(x['online_duration'])