Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/286.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 从ld+;提取数据时出错;json元素_Python_Json_Web Scraping_Xpath_Python Requests - Fatal编程技术网

Python 从ld+;提取数据时出错;json元素

Python 从ld+;提取数据时出错;json元素,python,json,web-scraping,xpath,python-requests,Python,Json,Web Scraping,Xpath,Python Requests,所以我是个新手,我正在零售网站Trulia.com上练习刮水。我试图使用其xpath从ld+json元素中提取坐标和zipcode,如下所示: for properties in search_results: raw_address =properties.xpath("//[@id='resultsColumn']/div[1]/ul/li[1]/div/div/div/div/div[2]/div/a/div[1]//text()")

所以我是个新手,我正在零售网站Trulia.com上练习刮水。我试图使用其xpath从ld+json元素中提取坐标和zipcode,如下所示:

     for properties in search_results:
         raw_address =properties.xpath("//[@id='resultsColumn']/div[1]/ul/li[1]/div/div/div/div/div[2]/div/a/div[1]//text()")
         raw_area = properties.xpath("//*[@id='resultsColumn']/div[1]/ul/li[1]/div/div/div/div/div[2]/div/div[2]/div[3]/div/div/div//text()")
         raw_price = properties.xpath("//*[@id='resultsColumn']/div[1]/ul/li[1]/div/div/div/div/div[2]/div/div[1]/div/div//text()")
         raw_data = response.xpath('//li/script[@type="application/ld+json"]//text()').extract_first()
         data = json.loads(raw_data)
         raw_zipcode = data['postalCode'][0]
         raw_latitude = data['latitude'][0]
         raw_latitude = data['longitude'][0]
然后当我为zipcodes列表运行这个时

     for i in range(0,len(MI_lst)):
        scraped_data = parse(MI_lst[i])
        if scraped_data:
           if i > 0:
             append_data_to_csv(scraped_data)
           else:
             write_data_to_csv(scraped_data)
我得到了错误

AttributeError                            Traceback (most recent call last)
<ipython-input-43-1a8c5a18c926> in <module>
      8 '''
      9 for i in range(0,len(MI_lst)):
---> 10     scraped_data = parse(MI_lst[i])
     11     if scraped_data:
     12         if i > 0:

<ipython-input-42-74274bded52e> in parse(zipcode, filter)
     30         #url = properties.xpath(".//a[contains(@class,'overlay-link')]/@href")
     31         #raw_title = properties.xpath(".//h4//text()")
---> 32         raw_data = response.xpath('//li/script[@type="application/ld+json"]//text()').extract_first()
     33         data = json.loads(raw_data)
     34         raw_zipcode = data['postalCode'][0]

AttributeError: 'Response' object has no attribute 'xpath'

AttributeError回溯(最近一次调用)
在里面
8 '''
9表示范围(0,len(MI_lst))内的i:
--->10刮取的数据=解析(MI_lst[i])
11如果刮取了数据:
12如果i>0:
在解析中(zipcode,filter)
30#url=properties.xpath(“.//a[contains(@class,'overlay-link')]/@href”)
31#raw_title=properties.xpath(“.//h4//text()”)
--->32 raw_data=response.xpath('//li/script[@type=“application/ld+json”]//text())。提取_first()
33 data=json.load(原始数据)
34原始代码=数据['postalCode'][0]
AttributeError:“Response”对象没有属性“xpath”

据我所知,我将json数据提取为text(),所以它不应该显示此错误,有人能帮我理解我做错了什么吗?我之前在没有zipcode和坐标的情况下进行了尝试,代码在提取地址和价格时运行良好。

应该是
get\u element\u by\u xpath
,但是为了更好地理解,您可以更新整个代码!嗨,这是到目前为止所有代码的链接,